home *** CD-ROM | disk | FTP | other *** search
/ Complete RPG Maker XP - 41 Games / tg esp 48 rpg maker.iso / RPG3D / Tools_Utilities / Quark.exe / Quark / addons / Half-Life2 / halflife2.qrk < prev    next >
Encoding:
Text File  |  2005-08-01  |  198.0 KB  |  9,111 lines

  1. QQRKSRC1
  2. // This file has been written by QuArK QuArK 6.4 alpha
  3. // It's the text version of file: halflife2.qrk
  4.  
  5. // hl2sp (singleplayer) entities. last changes august/1/2005 by cbxpm.
  6.  
  7. {
  8.   Toolbox Folders.qtx =
  9.   {
  10.     Toolbox = "New map items..."
  11.     Root = "HL2 SP Entities.qtxfolder"
  12.     HL2 SP Entities.qtxfolder =
  13.     {
  14.  
  15. // ai entities
  16.  
  17.       ai_* entities.qtxfolder =
  18.       {
  19.         ai_ally_manager:e =
  20.         {
  21.           origin = "0 0 0"
  22.           ;desc = "AI Ally Manager"
  23.           maxallies = "5"
  24.           maxmedics = "1"
  25.         }
  26.         ai_battle_line:e =
  27.         {
  28.           origin = "0 0 0"
  29.           ;desc = "Battle line"
  30.           Active = "0"
  31.           Strict = "1"
  32.         }
  33.         ai_changehintgroup:e =
  34.         {
  35.           origin = "0 0 0"
  36.           ;desc = "Change Hint Group"
  37.           SearchType = "0"
  38.           Radius = "0.0"
  39.           hintlimiting = "0"
  40.         }
  41.         ai_changetarget:e =
  42.         {
  43.           origin = "0 0 0"
  44.           ;desc = "Change Target"
  45.         }
  46.         ai_citizen_response_system:e =
  47.         {
  48.           origin = "0 0 0"
  49.           ;desc = "If placed in the level, will manage citizens responses to p"
  50.            "layer's actions."
  51.         }
  52.         ai_goal_actbusy:e =
  53.         {
  54.           origin = "0 0 0"
  55.           ;desc = "AI Goal Act Busy"
  56.         }        
  57.         ai_goal_actbusy_queue:e =
  58.         {
  59.           origin = "0 0 0"
  60.           ;desc = "AI Goal Act Busy Queue"
  61.           mustreachfront = "0"
  62.         }        
  63.         ai_goal_assault:e =
  64.         {
  65.           origin = "0 0 0"
  66.           ;desc = "AI Goal Assault"
  67.           SearchType = "0"
  68.           StartActive = "0"
  69.           AssaultCue = "1"
  70.         }        
  71.         ai_goal_follow:e =
  72.         {
  73.           origin = "0 0 0"
  74.           ;desc = "AI Goal Follow"
  75.           SearchType = "0"
  76.           StartActive = "0"
  77.           MaximumState = "1"
  78.           Formation = "0"
  79.         }        
  80.         ai_goal_lead:e =
  81.         {
  82.           origin = "0 0 0"
  83.           ;desc = "AI Goal Lead"
  84.           SearchType = "0"
  85.         }        
  86.         ai_goal_lead_weapon:e =
  87.         {
  88.           origin = "0 0 0"
  89.           ;desc = "AI Goal Lead (Weapon). A version of the ai_goal_lead entity"
  90.            " that requires the player to have the specified weapon before the "
  91.            "Actor(s) will lead the player to their target."
  92.           WeaponName = "weapon_bugbait"
  93.           SearchType = "0"
  94.         }        
  95.         ai_goal_police:e =
  96.         {
  97.           origin = "0 0 0"
  98.           ;desc = "AI Goal Police"
  99.           policeradius = "512"
  100.         }        
  101.         ai_goal_standoff:e =
  102.         {
  103.           origin = "0 0 0"
  104.           ;desc = "AI Goal Standoff"
  105.           SearchType = "0"
  106.           StartActive = "0"
  107.           HintGroupChangeReaction = "1"
  108.           Aggressiveness = "2"
  109.           PlayerBattleline = "1"
  110.           StayAtCover = "0"
  111.           AbandonIfEnemyHides = "0"
  112.         }        
  113.         ai_relationship:e =
  114.         {
  115.           origin = "0 0 0"
  116.           ;desc = "AI Relationship - Sets relationships between groups of NPCs"
  117.            " in the AI."
  118.           disposition = "3"
  119.           radius = "0"
  120.           rank = "0"
  121.           StartActive = "0"
  122.           Reciprocal = "0"
  123.         }        
  124.         ai_script_conditions:e =
  125.         {
  126.           origin = "0 0 0"
  127.           ;desc = "AI Script Conditions"
  128.           StartDisabled = "1"
  129.           MinimumState = "1"
  130.           MaximumState = "3"
  131.           ScriptStatus = "0"
  132.           RequiredTime = "0"
  133.           MinTimeout = "0"
  134.           MaxTimeout = "0"
  135.           ActorSeePlayer = "2"
  136.           PlayerActorProximity = "0"
  137.           PlayerActorFOV = "360"
  138.           PlayerActorFOVTrueCone = "0"
  139.           PlayerActorLOS = "2"
  140.           ActorSeeTarget = "2"
  141.           ActorTargetProximity = "0"
  142.           PlayerTargetProximity = "0"
  143.           PlayerTargetFOV = "360"
  144.           PlayerTargetFOVTrueCone = "0"
  145.           PlayerTargetLOS = "2"
  146.           PlayerBlockingActor = "2"
  147.         }
  148.         ai_sound:e =
  149.         {
  150.           origin = "0 0 0"
  151.           ;desc = "This entity makes sounds or smells that can be sensed by NP"
  152.            "Cs, butnot by the player. This can be used to cause reactions in n"
  153.            "earby NPCs.\n\nSound Types\n  Combat: Will cause most NPCs to beco"
  154.            "me alert\n  World: Will cause most NPCs to become alert\n  Danger:"
  155.            " Will cause most NPCs to move away from the position of the sound\"
  156.            "n  Bullet Impact: \n  Carcass: \n  Meat: \n  Garbage: \n  Thumper:"
  157.            " causes antlions to run away briefly\n  Readiness: (Low, Medium, H"
  158.            "igh) Causes player companions that can hear this sound to change r"
  159.            "eadiness\n"
  160.           soundtype = "0"
  161.         }
  162.       }
  163.  
  164. // env entities
  165.  
  166.       env_* entities.qtxfolder =
  167.       {
  168.         env_alyxemp:e =
  169.         {
  170.           origin = "0 0 0"
  171.           ;desc = "Special effect for the Alyx's EMP device."
  172.           Type = "0"
  173.         }
  174.         env_ar2explosion:e =
  175.         {
  176.           origin = "0 0 0"
  177.           ;desc = "AR2 explosion visual effect. Big, volume-filling brown clou"
  178.            "d. Does not cause damage or emit sound."
  179.           material = "particle/particle_noisesphere"
  180.         }
  181.         env_citadel_energy_core:e =
  182.         {
  183.           origin = "0 0 0"
  184.           ;desc = "Special effect for the energy cores in citadel."
  185.           scale = "1"
  186.         }
  187.         env_flare:e =
  188.         {
  189.           origin = "0 0 0"
  190.           ;desc = "Flare"
  191.           scale = "1"
  192.           duration = "30"
  193.         }
  194.         env_global:e =
  195.         {
  196.           origin = "0 0 0"
  197.           ;desc = "An entity to control a game-specific global states."
  198.         }
  199.         env_gunfire:e =
  200.         {
  201.           origin = "0 0 0"
  202.           ;desc = "Gunfire Effect"
  203.           minburstsize = "2"
  204.           maxburstsize = "7"
  205.           minburstdelay = "2"
  206.           maxburstdelay = "5"
  207.           rateoffire = "10"
  208.           spread = "5"
  209.           bias = "1"
  210.           collisions = "0"
  211.           shootsound = "Weapon_AR2.NPC_Single"
  212.           tracertype = "AR2TRACER"
  213.         }
  214.         env_headcrabcanister:e =
  215.         {
  216.           origin = "0 0 0"
  217.           ;desc = "Headcrab canister"
  218.           HeadcrabType = "0"
  219.           HeadcrabCount = "6"
  220.           FlightSpeed = "3000"
  221.           FlightTime = "5"
  222.           StartingHeight = "0"
  223.           MinSkyboxRefireTime = "0"
  224.           MaxSkyboxRefireTime = "0"
  225.           SkyboxCannisterCount = "1"
  226.           Damage = "150"
  227.           DamageRadius = "750"
  228.           SmokeLifetime = "30"
  229.         }        
  230.         env_muzzleflash:e =
  231.         {
  232.           origin = "0 0 0"
  233.           ;desc = "Muzzle Flash"
  234.           scale = "1"
  235.         }        
  236.         env_rotorwash:e =
  237.         {
  238.           origin = "0 0 0"
  239.           ;desc = "Rotorwash Effect"
  240.         }        
  241.         env_speaker:e =
  242.         {
  243.           origin = "0 0 0"
  244.           ;desc = "Announcement Speaker"
  245.         }        
  246.         env_starfield:e =
  247.         {
  248.           origin = "0 0 0"
  249.           ;desc = "Starfield effect"
  250.         }        
  251.         env_terrainmorph:e =
  252.         {
  253.           origin = "0 0 0"
  254.           ;desc = "Morphs terrain by pulling vertices along a normal.\n\nPlace"
  255.            " this entity the desired distance from a terrain surface and set A"
  256.            "NGLES to the normal along which you want to pull the surface's ver"
  257.            "tices. If you set the INSTANT spawnflag, the morph will take place"
  258.            " instantly instead of over time.\n"
  259.           startradius = "500"
  260.           goalradius = "100"
  261.           duration = "3"
  262.           fraction = "1"
  263.         }
  264.       }
  265.  
  266. // func entities
  267.  
  268.       func_* entities.qtxfolder =
  269.       {
  270.         func_combine_ball_spawner:b =
  271.         {
  272.           t_nodrawpoly=!
  273.           ;desc = "A volumetric trigger that bestows super armor to the player"
  274.           spawnflags = "4096"
  275.           ballcount = "3"
  276.           minspeed = "300.0"
  277.           maxspeed = "600.0"
  278.           ballradius = "20.0"
  279.           balltype = "Combine Energy Ball 1"
  280.           ballrespawntime = "4.0f"
  281.         }
  282.         func_healthcharger:b =
  283.         {
  284.           t_detailpoly=!
  285.           ;desc = "Wall health recharger"
  286.         }
  287.         func_lookdoor:b =
  288.         {
  289.           t_detailpoly=!
  290.           ;desc = "A door that moves either when looked by a targeted object o"
  291.            "r when a target object comes near the door.  Behavior can be eithe"
  292.            "r based on viewing direction or proximity alone, or on a combinati"
  293.            "on of both.  If inverted the doors behavior will be the opposite."
  294.           ProximityDistance = "0.0"
  295.           ProximityOffset = "0.0"
  296.           FieldOfView = "0.0"
  297.         }
  298.         func_monitor:b =
  299.         {
  300.           t_nodrawpoly=!
  301.           ;desc = "A monitor that renders the view from a given point_camera e"
  302.            "ntity."
  303.         }
  304.         func_recharge:b =
  305.         {
  306.           t_detailpoly=!
  307.           ;desc = "Battery recharger"
  308.         }
  309.         func_tank:b =
  310.         {
  311.           t_detailpoly=!
  312.           ;desc = "Brush Gun Turret"
  313.           bullet = "0"
  314.         }
  315.         func_tankairboatgun:b =
  316.         {
  317.           t_detailpoly=!
  318.           ;desc = "Airboat Gun Turret"
  319.         }
  320.         func_tankapcrocket:b =
  321.         {
  322.           t_detailpoly=!
  323.           ;desc = "APC Rocket Turret"
  324.           rocketspeed = "800"
  325.           burstcount = "10"
  326.         }
  327.         func_tanklaser:b =
  328.         {
  329.           t_detailpoly=!
  330.           ;desc = "Brush Laser Turret"
  331.         }
  332.         func_tankmortar:b =
  333.         {
  334.           t_detailpoly=!
  335.           ;desc = "Brush Mortar Turret"
  336.           iMagnitude = "100"
  337.           firedelay = "2"
  338.           warningtime = "1"
  339.           firevariance = "0"
  340.         }
  341.         func_tankphyscannister:b =
  342.         {
  343.           t_detailpoly=!
  344.           ;desc = "PhysCannister Turret"
  345.         }
  346.         func_tankpulselaser:b =
  347.         {
  348.           t_detailpoly=!
  349.           ;desc = "Brush Pulse Laser"
  350.           PulseSpeed = "1000"
  351.           PulseColor = "255 0 0"
  352.           PulseWidth = "20"
  353.           PulseLife = "2"
  354.           PulseLag = "0.05"
  355.         }
  356.         func_tankrocket:b =
  357.         {
  358.           t_detailpoly=!
  359.           ;desc = "Brush Rocket Turret"
  360.           rocketspeed = "800"
  361.         }
  362.         func_vehicleclip:b =
  363.         {
  364.           t_triggerpoly=!
  365.           ;desc = "Vehicle Clip"
  366.         }
  367.       }
  368.  
  369. // info entities
  370.  
  371.       info_* entities.qtxfolder =
  372.       {
  373.         info_apc_missile_hint:b =
  374.         {
  375.           t_nodrawpoly=!
  376.           ;desc = "Something that helps APC missiles guide. If the missile can"
  377.            " hit the associated target entitybetween the time it takes the cur"
  378.            "rent enemy to enter + leave the hint, then the missile will guide "
  379.            "to the entity."
  380.         }
  381.         info_snipertarget:e =
  382.         {
  383.           origin = "0 0 0"
  384.           ;desc = "Sniper Target"
  385.           speed = "2"
  386.         }
  387.         info_target_gunshipcrash:e =
  388.         {
  389.           origin = "0 0 0"
  390.           ;desc = "Gunship Crash Target"
  391.         }
  392.         info_teleporter_countdown:e =
  393.         {
  394.           origin = "0 0 0"
  395.           ;desc = "Countdown timer for the teleporter. The status of the telep"
  396.            "orter will appear on vgui_screen entities whose panel is 'teleport"
  397.            "_countdown_screen'."
  398.         }
  399.       }
  400.  
  401. // item entities
  402.  
  403.       item_* entities.qtxfolder =
  404.       {
  405.         item_ammo_357:e =
  406.         {
  407.           origin = "0 0 0"
  408.           ;desc = "Box of 357 ammo"
  409.         }
  410.         item_ammo_357_large:e =
  411.         {
  412.           origin = "0 0 0"
  413.           ;desc = "Large Box of 357 ammo"
  414.         }
  415.         item_ammo_ar2:e =
  416.         {
  417.           origin = "0 0 0"
  418.           ;desc = "Box of AR2 ammo"
  419.         }
  420.         item_ammo_ar2_altfire:e =
  421.         {
  422.           origin = "0 0 0"
  423.           ;desc = "AR2 Alt-fire Round"
  424.         }
  425.         item_ammo_ar2_large:e =
  426.         {
  427.           origin = "0 0 0"
  428.           ;desc = "Large Box of AR2 ammo"
  429.         }
  430.         item_ammo_crate:e =
  431.         {
  432.           origin = "0 0 0"
  433.           ;desc = "Ammo Crate"
  434.           AmmoType = "0"
  435.         }
  436.         item_ammo_crossbow:e =
  437.         {
  438.           origin = "0 0 0"
  439.           ;desc = "Box of Crossbow ammo"
  440.         }
  441.         item_ammo_pistol:e =
  442.         {
  443.           origin = "0 0 0"
  444.           ;desc = "Box of Pistol ammo"
  445.         }
  446.         item_ammo_pistol_large:e =
  447.         {
  448.           origin = "0 0 0"
  449.           ;desc = "Large Box of Pistol ammo"
  450.         }
  451.         item_ammo_smg1:e =
  452.         {
  453.           origin = "0 0 0"
  454.           ;desc = "Box of SMG1 ammo"
  455.         }
  456.         item_ammo_smg1_grenade:e =
  457.         {
  458.           origin = "0 0 0"
  459.           ;desc = "SMG1 Grenade"
  460.         }
  461.         item_ammo_smg1_large:e =
  462.         {
  463.           origin = "0 0 0"
  464.           ;desc = "Large Box of SMG1 ammo"
  465.         }
  466.         item_battery:e =
  467.         {
  468.           origin = "0 0 0"
  469.           ;desc = "HEV battery"
  470.         }
  471.         item_box_buckshot:e =
  472.         {
  473.           origin = "0 0 0"
  474.           ;desc = "Box Buckshot"
  475.         }
  476.         item_dynamic_resupply:e =
  477.         {
  478.           origin = "0 0 0"
  479.           ;desc = "Dynamic item"
  480.           spawnflags = "1"
  481.           DesiredHealth = "1"
  482.           DesiredArmor = "0.3"
  483.           DesiredAmmoPistol = "0.5"
  484.           DesiredAmmoSMG1 = "0.5"
  485.           DesiredAmmoSMG1_Grenade = "0.1"
  486.           DesiredAmmoAR2 = "0.4"
  487.           DesiredAmmoBuckshot = "0.5"
  488.           DesiredAmmoRPG_Round = "0"
  489.           DesiredAmmoGrenade = "0.1"
  490.           DesiredAmmo357 = "0"
  491.           DesiredAmmoCrossbow = "0"
  492.         }
  493.         item_healthcharger:e =
  494.         {
  495.           origin = "0 0 0"
  496.           ;desc = "Health Charger"
  497.         }
  498.         item_healthkit:e =
  499.         {
  500.           origin = "0 0 0"
  501.           ;desc = "Small Health Kit"
  502.         }
  503.         item_healthvial:e =
  504.         {
  505.           origin = "0 0 0"
  506.           ;desc = "Personal Health Kit"
  507.         }
  508.         item_item_crate:e =
  509.         {
  510.           origin = "0 0 0"
  511.           ;desc = "Item Crate"
  512.           CrateType = "0"
  513.           ItemClass = "item_dynamic_resupply"
  514.           ItemCount = "1"
  515.         }
  516.         item_rpg_round:e =
  517.         {
  518.           origin = "0 0 0"
  519.           ;desc = "RPG Round"
  520.         }
  521.         item_suit:e =
  522.         {
  523.           origin = "0 0 0"
  524.           ;desc = "HEV Suit"
  525.         }
  526.         item_suitcharger:e =
  527.         {
  528.           origin = "0 0 0"
  529.           ;desc = "Battery recharger"
  530.         }
  531.       }
  532.  
  533. // npc entities
  534.  
  535.       npc_* entities.qtxfolder =
  536.       {
  537.         npc_alyx:e =
  538.         {
  539.           origin = "0 0 0"
  540.                     angles = "0 0 0"
  541.           ;desc = "Alyx"
  542.           model = "models/alyx.mdl"
  543.           additionalequipment = "weapon_alyxgun"
  544.         }
  545.         npc_antlion:e =
  546.         {
  547.           origin = "0 0 0"
  548.                     angles = "0 0 0"
  549.           ;desc = "Antlions will run away from ai_sound, type: Thumper."
  550.           startburrowed = "No"
  551.           radius = "256"
  552.           eludedist = "1024"
  553.           ignorebugbait = "No"
  554.         }
  555.         npc_antlion_template_maker:e =
  556.         {
  557.           origin = "0 0 0"
  558.                     angles = "0 0 0"
  559.           ;desc = "Antlion Template Maker"
  560.           spawnradius = "512"
  561.           vehicledistance = "1"
  562.           ignorebugbait = "0"
  563.           pool_start = "0"
  564.           pool_max = "0"
  565.           pool_regen_amount = "0"
  566.           pool_regen_time = "0"
  567.         }
  568.         npc_antlionguard:e =
  569.         {
  570.           origin = "0 0 0"
  571.                     angles = "0 0 0"
  572.           ;desc = "Antlion Guard"
  573.           startburrowed = "No"
  574.           allowbark = "No"
  575.         }
  576.         npc_apcdriver:e =
  577.         {
  578.           origin = "0 0 0"
  579.                     angles = "0 0 0"
  580.           ;desc = "NPC used to drive an APC vehicle."
  581.           drivermaxspeed = "1"
  582.           driverminspeed = "0"
  583.         }
  584.         npc_barnacle:e =
  585.         {
  586.           origin = "0 0 0"
  587.                     angles = "0 0 0"
  588.           ;desc = "Barnacle"
  589.           RestDist = "16"
  590.         }
  591.         npc_barney:e =
  592.         {
  593.           origin = "0 0 0"
  594.                     angles = "0 0 0"
  595.           ;desc = "Barney"
  596.           additionalequipment = "weapon_pistol"
  597.         }
  598.         npc_breen:e =
  599.         {
  600.           origin = "0 0 0"
  601.                     angles = "0 0 0"
  602.           ;desc = "Dr Breen"
  603.           model = "models/breen.mdl"
  604.         }
  605.         npc_bullseye:e =
  606.         {
  607.           origin = "0 0 0"
  608.                     angles = "0 0 0"
  609.           ;desc = "Bullseye"
  610.           health = "35"
  611.         }
  612.         npc_citizen:e =
  613.         {
  614.           origin = "0 0 0"
  615.                     angles = "0 0 0"
  616.           ;desc = "Citizen"
  617.           spawnflags = "262144"
  618.           additionalequipment = "0"
  619.           ammosupply = "SMG1"
  620.           ammoamount = "1"
  621.           citizentype = "Default"
  622.           expressiontype = "Random"
  623.           model = "models/humans/group01/male_01.mdl"
  624.           notifynavfailblocked = "0"
  625.         }
  626.         npc_combine_camera:e =
  627.         {
  628.           origin = "0 0 0"
  629.                     angles = "0 0 0"
  630.           ;desc = "Combine security camera"
  631.           spawnflags = "32"
  632.           innerradius = "300"
  633.           outerradius = "450"
  634.           minhealthdmg = "0"
  635.         }
  636.         npc_combine_s:e =
  637.         {
  638.           origin = "0 0 0"
  639.                     angles = "0 0 0"
  640.           ;desc = "Combine Soldier"
  641.           model = "models/combine_soldier.mdl"
  642.         }
  643.         npc_combinedropship:e =
  644.         {
  645.           origin = "0 0 0"
  646.                     angles = "0 0 0"
  647.           ;desc = "Combine Dropship"
  648.           GunRange = "2048"
  649.           Invulnerable = "0"
  650.           CrateType = "2"
  651.         }
  652.         npc_combinegunship:e =
  653.         {
  654.           origin = "0 0 0"
  655.                     angles = "0 0 0"
  656.           ;desc = "Combine Gunship"
  657.         }
  658.         npc_crabsynth:e =
  659.         {
  660.           origin = "0 0 0"
  661.                     angles = "0 0 0"
  662.           ;desc = "Crab Synth"
  663.         }        
  664.         npc_cranedriver:e =
  665.         {
  666.           origin = "0 0 0"
  667.                     angles = "0 0 0"
  668.           ;desc = "NPC used to drive cranes."
  669.           releasepause = "0"
  670.         }        
  671.         npc_crow:e =
  672.         {
  673.           origin = "0 0 0"
  674.           angles = "0 0 0"
  675.           ;desc = "Crow"
  676.         }        
  677.         npc_cscanner:e =
  678.         {
  679.           origin = "0 0 0"
  680.           angles = "0 0 0"
  681.           ;desc = "City Scanner"
  682.           spotlightlength = "500"
  683.           spotlightwidth = "50"
  684.           spotlightdisabled = "0"
  685.           ShouldInspect = "1"
  686.           OnlyInspectPlayers = "0"
  687.           NeverInspectPlayers = "0"
  688.         }        
  689.         npc_dog:e =
  690.         {
  691.           origin = "0 0 0"
  692.           angles = "0 0 0"
  693.           ;desc = "d0g"
  694.         }        
  695.         npc_eli:e =
  696.         {
  697.           origin = "0 0 0"
  698.           angles = "0 0 0"
  699.           ;desc = "Eli Vance"
  700.           model = "models/eli.mdl"
  701.         }        
  702.         npc_enemyfinder:e =
  703.         {
  704.           origin = "0 0 0"
  705.           angles = "0 0 0"
  706.           ;desc = "EnemyFinder"
  707.           spawnflags = "65536"
  708.           FieldOfView = "0.2"
  709.           MinSearchDist = "0"
  710.           MaxSearchDist = "2048"
  711.           freepass_timetotrigger = "0"
  712.           freepass_duration = "0"
  713.           freepass_movetolerance = "120"
  714.           freepass_refillrate = "0.5"
  715.           freepass_peektime = "0"
  716.           StartOn = "1"
  717.         }        
  718.         npc_fastzombie:e =
  719.         {
  720.           origin = "0 0 0"
  721.           angles = "0 0 0"
  722.           ;desc = "Fast Zombie"
  723.         }        
  724.         npc_gman:e =
  725.         {
  726.           origin = "0 0 0"
  727.           angles = "0 0 0"
  728.           ;desc = "The G-Man"
  729.         }        
  730.         npc_headcrab:e =
  731.         {
  732.           origin = "0 0 0"
  733.           angles = "0 0 0"
  734.           ;desc = "Headcrab"
  735.         }        
  736.         npc_headcrab_black:e =
  737.         {
  738.           origin = "0 0 0"
  739.           angles = "0 0 0"
  740.           ;desc = "Black Headcrab"
  741.         }        
  742.         npc_headcrab_fast:e =
  743.         {
  744.           origin = "0 0 0"
  745.           angles = "0 0 0"
  746.           ;desc = "Fast Headcrab"
  747.         }        
  748.         npc_heli_avoidbox:b =
  749.         {
  750.           t_triggerpoly=!
  751.           ;desc = "Helicopter avoidance box"
  752.         }        
  753.         npc_heli_avoidsphere:e =
  754.         {
  755.           origin = "0 0 0"
  756.           angles = "0 0 0"
  757.           ;desc = "Helicopter avoidance sphere"
  758.           radius = "128"
  759.         }        
  760.         npc_heli_nobomb:b =
  761.         {
  762.           t_triggerpoly=!
  763.           ;desc = "Helicopter bombing suppressor"
  764.         }        
  765.         npc_helicopter:e =
  766.         {
  767.           origin = "0 0 0"
  768.           angles = "0 0 0"
  769.           ;desc = "Helicopter"
  770.           InitialSpeed = "0"
  771.           GracePeriod = "2.0"
  772.           PatrolSpeed = "0"
  773.         }        
  774.         npc_ichthyosaur:e =
  775.         {
  776.           origin = "0 0 0"
  777.           angles = "0 0 0"
  778.           ;desc = "Ichthyosaur. Not fully functional"
  779.         }
  780.         npc_kleiner:e =
  781.         {
  782.           origin = "0 0 0"
  783.           angles = "0 0 0"
  784.           ;desc = "Kleiner"
  785.         }
  786.         npc_launcher:e =
  787.         {
  788.           origin = "0 0 0"
  789.           angles = "0 0 0"
  790.           ;desc = "Launcher"
  791.           spawnflags = "65536"
  792.           StartOn = "0"
  793.           MissileModel = "models/Weapons/wscanner_grenade.mdl"
  794.           LaunchSound = "npc/waste_scanner/grenade_fire.wav"
  795.           FlySound = "ambient/objects/machine2.wav"
  796.           SmokeTrail = "1"
  797.           LaunchSmoke = "1"
  798.           LaunchDelay = "8"
  799.           LaunchSpeed = "200"
  800.           HomingSpeed = "0"
  801.           HomingStrength = "10"
  802.           HomingDelay = "0"
  803.           HomingRampUp = "0.5"
  804.           HomingDuration = "5"
  805.           HomingRampDown = "1.0"
  806.           Gravity = "1.0"
  807.           MinRange = "100"
  808.           MaxRange = "2048"
  809.           SpinMagnitude = "0"
  810.           SpinSpeed = "0"
  811.           Damage = "50"
  812.           DamageRadius = "200"
  813.         }        
  814.         npc_maker:e =
  815.         {
  816.           origin = "0 0 0"
  817.           angles = "0 0 0"
  818.           ;desc = "NPC Maker"
  819.           additionalequipment = "0"
  820.         }        
  821.         npc_manhack:e =
  822.         {
  823.           origin = "0 0 0"
  824.           angles = "0 0 0"
  825.           ;desc = "Manhack"
  826.         }        
  827.         npc_metropolice:e =
  828.         {
  829.           origin = "0 0 0"
  830.           angles = "0 0 0"
  831.           ;desc = "MetroPolice"
  832.           additionalequipment = "weapon_pistol"
  833.           manhacks = "0"
  834.           weapondrawn = "0"
  835.         }        
  836.         npc_missiledefense:e =
  837.         {
  838.           origin = "0 0 0"
  839.           angles = "0 0 0"
  840.           ;desc = "Missile Defense"
  841.         }        
  842.         npc_monk:e =
  843.         {
  844.           origin = "0 0 0"
  845.           angles = "0 0 0"
  846.           ;desc = "Monk"
  847.           additionalequipment = "weapon_annabelle"
  848.           HasGun = "1"
  849.         }
  850.         npc_mortarsynth:e =
  851.         {
  852.           origin = "0 0 0"
  853.           angles = "0 0 0"
  854.           ;desc = "Mortar Synth"
  855.           additionalequipment = "weapon_annabelle"
  856.           HasGun = "1"
  857.         }        
  858.         npc_mossman:e =
  859.         {
  860.           origin = "0 0 0"
  861.           angles = "0 0 0"
  862.           ;desc = "Dr Mossman"
  863.         }        
  864.         npc_pigeon:e =
  865.         {
  866.           origin = "0 0 0"
  867.           angles = "0 0 0"
  868.           ;desc = "Pigeon"
  869.         }        
  870.         npc_poisonzombie:e =
  871.         {
  872.           origin = "0 0 0"
  873.           angles = "0 0 0"
  874.           ;desc = "A bloated, disgusting, fluid-spurting zombie created by a p"
  875.            "oison headcrab."
  876.           crabcount = "3"
  877.         }        
  878.         npc_rollermine:e =
  879.         {
  880.           origin = "0 0 0"
  881.           angles = "0 0 0"
  882.           ;desc = "Roller Mine"
  883.           startburied = "No"
  884.         }        
  885.         npc_seagull:e =
  886.         {
  887.           origin = "0 0 0"
  888.           angles = "0 0 0"
  889.           ;desc = "Seagull"
  890.         }        
  891.         npc_sniper:e =
  892.         {
  893.           origin = "0 0 0"
  894.           angles = "0 0 0"
  895.           ;desc = "Sniper"
  896.           radius = "0"
  897.           misses = "0"
  898.           beambrightness = "100"
  899.           shielddistance = "64"
  900.           shieldradius = "48"
  901.         }        
  902.         npc_spotlight:e =
  903.         {
  904.           origin = "0 0 0"
  905.           angles = "0 0 0"
  906.           ;desc = "Spotlight"
  907.           spawnflags = "196608"
  908.           health = "100"
  909.           YawRange = "90"
  910.           PitchMin = "35"
  911.           PitchMax = "50"
  912.           IdleSpeed = "2"
  913.           AlertSpeed = "5"
  914.           spotlightlength = "500"
  915.           spotlightwidth = "50"
  916.           rendercolor = "255 255 255"
  917.         }        
  918.         npc_stalker:e =
  919.         {
  920.           origin = "0 0 0"
  921.           angles = "0 0 0"
  922.           ;desc = "Stalker"
  923.           BeamPower = "Low"
  924.         }        
  925.         npc_strider:e =
  926.         {
  927.           origin = "0 0 0"
  928.           angles = "0 0 0"
  929.           ;desc = "Strider"
  930.           disablephysics = "0"
  931.         }                
  932.         npc_turret_ceiling:e =
  933.         {
  934.           origin = "0 0 0"
  935.           angles = "0 0 0"
  936.           ;desc = "Combine Ceiling Turret"
  937.           spawnflags = "32"
  938.           minhealthdmg = "0"
  939.         }
  940.         npc_turret_floor:e =
  941.         {
  942.           origin = "0 0 0"
  943.           angles = "0 0 0"
  944.           ;desc = "Combine Floor Turret"
  945.         }        
  946.         npc_turret_ground:e =
  947.         {
  948.           origin = "0 0 0"
  949.           angles = "0 0 0"
  950.           ;desc = "Combine ground turret"
  951.         }        
  952.         npc_vehicledriver:e =
  953.         {
  954.           origin = "0 0 0"
  955.           angles = "0 0 0"
  956.           ;desc = "NPC used to drive a target vehicle."
  957.           drivermaxspeed = "1"
  958.           driverminspeed = "0"
  959.         }        
  960.         npc_vortigaunt:e =
  961.         {
  962.           origin = "0 0 0"
  963.           angles = "0 0 0"
  964.           ;desc = "Vortigaunt"
  965.           model = "models/vortigaunt.mdl"
  966.           ArmorRechargeEnabled = "1"
  967.         }        
  968.         npc_zombie:e =
  969.         {
  970.           origin = "0 0 0"
  971.           angles = "0 0 0"
  972.           ;desc = "Zombie"
  973.         }        
  974.         npc_zombie_torso:e =
  975.         {
  976.           origin = "0 0 0"
  977.           angles = "0 0 0"
  978.           ;desc = "Zombie Torso"
  979.         }
  980.       }
  981.  
  982. // other entities
  983.  
  984.       other_* entities.qtxfolder =
  985.       {
  986.         aiscripted_schedule:e =
  987.         {
  988.           origin = "0 0 0"
  989.           ;desc = "Issues a command to an NPC without taking the NPC out of it"
  990.            "s AI. This does not seize control of the NPC as a scripted_sequenc"
  991.            "e does"
  992.           m_flRadius = "0"
  993.           graball = "0"
  994.           forcestate = "0"
  995.           schedule = "1"
  996.           interruptability = "0"
  997.         }
  998.         assault_assaultpoint:e =
  999.         {
  1000.           origin = "0 0 0"
  1001.           ;desc = "(Assault) assault point"
  1002.           assaulttimeout = "3.0"
  1003.           clearoncontact = "0"
  1004.           allowdiversion = "0"
  1005.           nevertimeout = "0"
  1006.         }
  1007.         assault_rallypoint:e =
  1008.         {
  1009.           origin = "0 0 0"
  1010.           ;desc = "(Assault) rally point"
  1011.           assaultdelay = "0"
  1012.           priority = "1"
  1013.         }
  1014.         combine_mine:e =
  1015.         {
  1016.           origin = "0 0 0"
  1017.           ;desc = "Combine Land Mine"
  1018.           bounce = "1"
  1019.           LockSilently = "1"
  1020.           StartDisarmed = "0"
  1021.         }
  1022.         cycler_actor:e =
  1023.         {
  1024.           origin = "0 0 0"
  1025.           ;desc = "Actor Cycler"
  1026.         }
  1027.         generic_actor:e =
  1028.         {
  1029.           origin = "0 0 0"
  1030.           ;desc = "Generic Actor NPC"
  1031.           hull_name = "Human"
  1032.         }
  1033.         logic_choreographed_scene:e =
  1034.         {
  1035.           origin = "0 0 0"
  1036.           ;desc = "Manages a choreographed scene of one or more actors."
  1037.           busyactor = "0"
  1038.         }
  1039.         monster_generic:e =
  1040.         {
  1041.           origin = "0 0 0"
  1042.           ;desc = "Generic Script NPC"
  1043.           body = "0"
  1044.         }
  1045.         path_corner:e =
  1046.         {
  1047.           origin = "0 0 0"
  1048.           ;desc = "Generic path point"
  1049.           wait = "0"
  1050.           speed = "0"
  1051.           yaw_speed = "0"
  1052.         }
  1053.         path_corner_crash:e =
  1054.         {
  1055.           origin = "0 0 0"
  1056.           ;desc = "Helicopter Crash Path"
  1057.         }
  1058.         phys_constraintsystem:e =
  1059.         {
  1060.           origin = "0 0 0"
  1061.           ;desc = "Used to manage a group of interacting constraints and keep "
  1062.            "them stable."
  1063.         }
  1064.         script_intro:e =
  1065.         {
  1066.           origin = "0 0 0"
  1067.           ;desc = "Script: Custom entity used to handle the intro sequence."
  1068.         }
  1069.         script_tauremoval:e =
  1070.         {
  1071.           origin = "0 0 0"
  1072.           ;desc = "Script: Custom entity used to handle the tau removal sequen"
  1073.            "ce in coast. (unused)"
  1074.         }
  1075.         test_sidelist:e =
  1076.         {
  1077.           origin = "0 0 0"
  1078.           ;desc = "Test entity for Ken!"
  1079.         }
  1080.         vehicle_viewcontroller:e =
  1081.         {
  1082.           origin = "0 0 0"
  1083.           ;desc = "Vehicle hack to control player view"
  1084.         }
  1085.       }
  1086.  
  1087. // player entities
  1088.  
  1089.       player_* entities.qtxfolder =
  1090.       {
  1091.         player_loadsaved:e =
  1092.         {
  1093.           origin = "0 0 0"
  1094.           ;desc = "Load Auto-Saved game"
  1095.           duration = "2"
  1096.           holdtime = "0"
  1097.           renderamt = "255"
  1098.           rendercolor = "0 0 0"
  1099.           loadtime = "0"
  1100.         }
  1101.         player_speedmod:e =
  1102.         {
  1103.           origin = "0 0 0"
  1104.           ;desc = "Speeds up or slows down player velocity over time (slow mo/"
  1105.            "fast forward)"
  1106.         }
  1107.         player_weaponstrip:e =
  1108.         {
  1109.           origin = "0 0 0"
  1110.           ;desc = "Strips player's weapons"
  1111.         }
  1112.       }
  1113.  
  1114. // point entities
  1115.  
  1116.       point_* entities.qtxfolder =
  1117.       {
  1118.         point_antlion_repellant:e =
  1119.         {
  1120.           origin = "0 0 0"
  1121.           ;desc = "Antlion Repellant"
  1122.           repelradius = "512"
  1123.         }
  1124.         point_apc_controller:e =
  1125.         {
  1126.           origin = "0 0 0"
  1127.           ;desc = "APC Controller"
  1128.           yawrate = "30"
  1129.           yawtolerance = "15"
  1130.           pitchrate = "0"
  1131.           pitchtolerance = "20"
  1132.           minRange = "0"
  1133.           maxRange = "0"
  1134.         }
  1135.         point_bugbait:e =
  1136.         {
  1137.           origin = "0 0 0"
  1138.           ;desc = "Bugbait sensor point"
  1139.           Enabled = "1"
  1140.           radius = "512"
  1141.         }
  1142.         point_camera:e =
  1143.         {
  1144.           origin = "0 0 0"
  1145.           ;desc = "Camera"
  1146.           FOV = "90"
  1147.           UseScreenAspectRatio = "0"
  1148.           fogEnable = "0"
  1149.           fogColor = "0 0 0"
  1150.           fogStart = "2048"
  1151.           fogEnd = "4096"
  1152.         }
  1153.       }
  1154.  
  1155. // prop entities
  1156.  
  1157.       prop_* entities.qtxfolder =
  1158.       {
  1159.         prop_combine_ball:e =
  1160.         {
  1161.           origin = "0 0 0"
  1162.           ;desc = "A prop that physically simulates as a single rigid body. It"
  1163.            " can be constrained to other physics objects using hinges or other"
  1164.            " constraints. It can also be configured to break when it takes eno"
  1165.            "ugh damage."
  1166.         }
  1167.         prop_thumper:e =
  1168.         {
  1169.           origin = "0 0 0"
  1170.           ;desc = "Thumper"
  1171.           model = "models/props_combine/CombineThumper002.mdl"
  1172.           dustscale = "Small Thumper"
  1173.         }
  1174.         prop_vehicle:e =
  1175.         {
  1176.           origin = "0 0 0"
  1177.           ;desc = "Studiomodel vehicle that can be driven via inputs."
  1178.         }
  1179.         prop_vehicle_airboat:e =
  1180.         {
  1181.           origin = "0 0 0"
  1182.           ;desc = "Driveable studiomodel airboat."
  1183.           model = "models/airboat.mdl"
  1184.           vehiclescript = "scripts/vehicles/airboat.txt"
  1185.           EnableGun = "0"
  1186.         }
  1187.         prop_vehicle_apc:e =
  1188.         {
  1189.           origin = "0 0 0"
  1190.           ;desc = "APC with mounted guns, can only be driven by a vehicle driv"
  1191.            "er or a npc_apcdriver."
  1192.         }
  1193.         prop_vehicle_cannon:e =
  1194.         {
  1195.           origin = "0 0 0"
  1196.           ;desc = "Driveable studiomodel cannon."
  1197.         }
  1198.         prop_vehicle_crane:e =
  1199.         {
  1200.           origin = "0 0 0"
  1201.           ;desc = "Driveable studiomodel crane."
  1202.         }
  1203.         prop_vehicle_driveable:e =
  1204.         {
  1205.           origin = "0 0 0"
  1206.           ;desc = "Generic driveable studiomodel vehicle."
  1207.         }
  1208.         prop_vehicle_jeep:e =
  1209.         {
  1210.           origin = "0 0 0"
  1211.           ;desc = "Driveable studiomodel jeep."
  1212.         }
  1213.         prop_vehicle_prisoner_pod:e =
  1214.         {
  1215.           origin = "0 0 0"
  1216.           ;desc = "Combine prisoner pod that the player can ride in."
  1217.           model = "models/vehicles/prisoner_pod.mdl"
  1218.           vehiclescript = "scripts/vehicles/prisoner_pod.txt"
  1219.         }
  1220.       }
  1221.  
  1222. // scripted entities
  1223.  
  1224.       scripted_* entities.qtxfolder =
  1225.       {
  1226.         scripted_sentence:e =
  1227.         {
  1228.           origin = "0 0 0"
  1229.           ;desc = "Scripted Sentence"
  1230.           spawnflags = "21"
  1231.           delay = "0"
  1232.           radius = "512"
  1233.           refire = "3"
  1234.           volume = "10"
  1235.           attenuation = "0"
  1236.         }
  1237.         scripted_sequence:e =
  1238.         {
  1239.           origin = "0 0 0"
  1240.           ;desc = "Grabs an NPC and makes them play a specified set of animati"
  1241.            "ons. The NPC can be told to move to the scripted sequence position"
  1242.            " or can be told to play the script wherever they currently are. Mu"
  1243.            "ltiple scripted sequences of the same name will frame-synchronize "
  1244.            "in the action animation once all the actors have moved to position"
  1245.            ". This allows tight interaction between actors (one actor grabbing"
  1246.            " another, hitting them, etc.) The flow is as follows:\n\n1) Move t"
  1247.            "o position using the specified movement animation. If 'Move to Pos"
  1248.            "ition' is set to NONE, skip to step 2.\n2) If forced to wait for a"
  1249.            "nother actor to move to position, play the pre-action idle animati"
  1250.            "on, otherwise skip to step 3. If there is no pre-action idle speci"
  1251.            "fied, ACT_IDLE is used.\n3) Fire the OnBeginSequence output.\n4) P"
  1252.            "lay the action animation. If no action animation is specified, ski"
  1253.            "p to step 5.\n5) Play the post-action idle animation. If none is s"
  1254.            "pecified, skip to step 6. If the 'Loop in Post Idle' spawnflag is "
  1255.            "set, keep playing the post-action idle until the script is cancell"
  1256.            "ed. If no post-action idle animation is specified, ACT_IDLE is use"
  1257.            "d.\n6) Fire the OnEndSequence output.\n7) If a next script to play"
  1258.            " is specified, hand the NPC to the next script and repeat this pro"
  1259.            "cess for that script.\n\nThe MoveToPosition input runs steps 1 and"
  1260.            " 2, then waits while playing the pre-action idle animation until t"
  1261.            "he BeginSequence input is received."
  1262.         }
  1263.         scripted_target:e =
  1264.         {
  1265.           origin = "0 0 0"
  1266.           ;desc = "Scripted Target"
  1267.           StartDisabled = "1"
  1268.           m_flRadius = "0"
  1269.           MoveSpeed = "5"
  1270.           PauseDuration = "0"
  1271.           EffectDuration = "2"
  1272.         }
  1273.       }
  1274.  
  1275. // trigger entities
  1276.  
  1277.       trigger_* entities.qtxfolder =
  1278.       {
  1279.         trigger_physics_trap:b =
  1280.         {
  1281.           t_triggerpoly=!
  1282.           ;desc = "A volumetric trigger that disintegrates enemies"
  1283.           dissolvetype = "Energy"
  1284.         }
  1285.         trigger_rpgfire:b =
  1286.         {
  1287.           t_triggerpoly=!
  1288.           ;desc = "A volumetric trigger that triggers whenever an RPG is fired"
  1289.            " within it."
  1290.         }
  1291.         trigger_vphysics_motion:b =
  1292.         {
  1293.           t_triggerpoly=!
  1294.           ;desc = "A volumetric trigger that affects the motion of vphysics ob"
  1295.            "jects that touch it."
  1296.           StartDisabled = "0"
  1297.           SetGravityScale = "1.0"
  1298.           SetAdditionalAirDensity = "0"
  1299.           SetVelocityLimit = "0.0"
  1300.           SetVelocityLimitDelta = "0.0"
  1301.           SetVelocityScale = "1.0"
  1302.           SetAngVelocityLimit = "0.0"
  1303.           SetAngVelocityScale = "1.0"
  1304.           SetLinearForce = "0.0"
  1305.           SetLinearForceAngles = "0 0 0"
  1306.           ParticleTrailLifetime = "4"
  1307.           ParticleTrailStartSize = "2"
  1308.           ParticleTrailEndSize = "3"
  1309.         }
  1310.         trigger_waterydeath:b =
  1311.         {
  1312.           t_triggerpoly=!
  1313.           ;desc = "A trigger volume that spawns leeches around entities inside"
  1314.            " it, and does damage to them until they die. Used to prevent playe"
  1315.            "rs entering deep water."
  1316.         }
  1317.         trigger_weapon_dissolve:b =
  1318.         {
  1319.           t_triggerpoly=!
  1320.           ;desc = "A volumetric trigger that dissolves all weapons within it"
  1321.         }
  1322.         trigger_weapon_strip:b =
  1323.         {
  1324.           t_triggerpoly=!
  1325.           ;desc = "A volumetric trigger that strips combat characters of all w"
  1326.            "eapons"
  1327.           KillWeapons = "No"
  1328.         }
  1329.       }
  1330.  
  1331. // weapon entities
  1332.  
  1333.       weapon_* entities.qtxfolder =
  1334.       {
  1335.         weapon_357:e =
  1336.         {
  1337.           origin = "0 0 0"
  1338.           ;desc = "357 Magnum"
  1339.         }
  1340.         weapon_alyxgun:e =
  1341.         {
  1342.           origin = "0 0 0"
  1343.           ;desc = "Alyx Gun"
  1344.         }
  1345.         weapon_annabelle:e =
  1346.         {
  1347.           origin = "0 0 0"
  1348.           ;desc = "Annabelle (Grigori)"
  1349.         }
  1350.         weapon_ar2:e =
  1351.         {
  1352.           origin = "0 0 0"
  1353.           ;desc = "Assault Rifle 2 (Pulse Rifle)"
  1354.         }
  1355.         weapon_brickbat:e =
  1356.         {
  1357.           origin = "0 0 0"
  1358.           ;desc = "Brickbat (Unknown)"
  1359.           BrickbatType = "Rock"
  1360.         }
  1361.         weapon_bugbait:e =
  1362.         {
  1363.           origin = "0 0 0"
  1364.           ;desc = "Bug Bait"
  1365.         }
  1366.         weapon_crossbow:e =
  1367.         {
  1368.           origin = "0 0 0"
  1369.           ;desc = "Crossbow"
  1370.         }
  1371.         weapon_crowbar:e =
  1372.         {
  1373.           origin = "0 0 0"
  1374.           ;desc = "Crowbar"
  1375.         }        
  1376.         weapon_frag:e =
  1377.         {
  1378.           origin = "0 0 0"
  1379.           ;desc = "Frag Grenade"
  1380.         }        
  1381.         weapon_physcannon:e =
  1382.         {
  1383.           origin = "0 0 0"
  1384.           ;desc = "Physics Cannon (Gravity Gun)"
  1385.         }        
  1386.         weapon_pistol:e =
  1387.         {
  1388.           origin = "0 0 0"
  1389.           ;desc = "9mm Pistol"
  1390.         }        
  1391.         weapon_rpg:e =
  1392.         {
  1393.           origin = "0 0 0"
  1394.           ;desc = "RPG Missile Launcher"
  1395.         }        
  1396.         weapon_shotgun:e =
  1397.         {
  1398.           origin = "0 0 0"
  1399.           ;desc = "Shotgun"
  1400.         }        
  1401.         weapon_smg1:e =
  1402.         {
  1403.           origin = "0 0 0"
  1404.           ;desc = "Submachine Gun"
  1405.         }        
  1406.         weapon_stunstick:e =
  1407.         {
  1408.           origin = "0 0 0"
  1409.           ;desc = "StunStick"
  1410.         }
  1411.       }
  1412.     }
  1413.   }
  1414.   Entity Forms.fctx =
  1415.   {
  1416.     t_TalkNPC:incl =
  1417.     {
  1418.       t_BaseNPC = !
  1419.       UseSentence: =
  1420.       {
  1421.         txt = "&"
  1422.         hint = "Use Sentence"
  1423.       }
  1424.       UnUseSentence: =
  1425.       {
  1426.         txt = "&"
  1427.         hint = "Un-Use Sentence"
  1428.       }
  1429.     }
  1430.     t_RappelNPC:incl =
  1431.     {
  1432.       t_BaseNPC = !
  1433.       waitingtorappel: =
  1434.       {
  1435.         txt = "&"
  1436.         hint = "Waiting to Rappel?"
  1437.         typ = "C"
  1438.         items = "No"$0D"Yes"
  1439.         values = "0"$0D"1"
  1440.       }
  1441.       input#BeginRappel: =
  1442.       {
  1443.         txt = "&"
  1444.         hint = "BeginRappel"
  1445.       }
  1446.       output#OnRappelTouchdown: =
  1447.       {
  1448.         txt = "&"
  1449.         hint = "Fires when done rappeling"
  1450.       }
  1451.     }
  1452.     prop_combine_ball:form =
  1453.     {
  1454.       t_BasePropPhysics = !
  1455.       input#Explode: =
  1456.       {
  1457.         txt = "&"
  1458.         hint = "Explode"
  1459.       }
  1460.     }
  1461.     trigger_physics_trap:form =
  1462.     {
  1463.       t_Trigger = !
  1464.       t_Angles = !
  1465.       dissolvetype: =
  1466.       {
  1467.         txt = "&"
  1468.         hint = "Dissolve Type"
  1469.         typ = "C"
  1470.         items = "Energy"$0D"Heavy electrical"$0D"Light electrical"
  1471.         values = "0"$0D"1"$0D"2"
  1472.       }
  1473.     }
  1474.     trigger_weapon_dissolve:form =
  1475.     {
  1476.       t_Trigger = !
  1477.       emittername: =
  1478.       {
  1479.         txt = "&"
  1480.         hint = "Emitter Name"
  1481.       }
  1482.       output#OnDissolveWeapon: =
  1483.       {
  1484.         txt = "&"
  1485.         hint = "Fires when one weapon is starting to dissolve in the trigger v"
  1486.          "olume."
  1487.       }
  1488.       output#OnChargingPhyscannon: =
  1489.       {
  1490.         txt = "&"
  1491.         hint = "Fires when the trigger begins to charge the physcannon."
  1492.       }
  1493.       input#StopSound: =
  1494.       {
  1495.         txt = "&"
  1496.         hint = "Stops all sounds."
  1497.       }
  1498.     }
  1499.     trigger_weapon_strip:form =
  1500.     {
  1501.       t_Trigger = !
  1502.       KillWeapons: =
  1503.       {
  1504.         txt = "&"
  1505.         hint = "Kill Weapons"
  1506.         typ = "C"
  1507.         items = "No"$0D"Yes"
  1508.         values = "0"$0D"1"
  1509.       }
  1510.     }
  1511.     func_combine_ball_spawner:form =
  1512.     {
  1513.       t_Targetname = !
  1514.       t_Origin = !
  1515.       t_Angles = !
  1516.       t_Global = !
  1517.       spawnflags: =
  1518.       {
  1519.         txt = "&"
  1520.         typ = "X4096"
  1521.         cap = "Start inactive"
  1522.       }
  1523.       spawnflags: =
  1524.       {
  1525.         txt = "&"
  1526.         typ = "X8192"
  1527.         cap = "Combine power supply"
  1528.       }
  1529.       ballcount: =
  1530.       {
  1531.         txt = "&"
  1532.         hint = "Ball count"
  1533.       }
  1534.       minspeed: =
  1535.       {
  1536.         txt = "&"
  1537.         hint = "Min ball speed"
  1538.       }
  1539.       maxspeed: =
  1540.       {
  1541.         txt = "&"
  1542.         hint = "Max ball speed"
  1543.       }
  1544.       ballradius: =
  1545.       {
  1546.         txt = "&"
  1547.         hint = "Ball radius"
  1548.       }
  1549.       balltype: =
  1550.       {
  1551.         txt = "&"
  1552.         hint = "Ball Type"
  1553.         typ = "C"
  1554.         items = "Combine Energy Ball 1"$0D"Combine Energy Ball 2"$0D"Combine E"
  1555.          "nergy Ball 3"
  1556.         values = "0"$0D"1"$0D"2"
  1557.       }
  1558.       ballrespawntime: =
  1559.       {
  1560.         txt = "&"
  1561.         hint = "Ball Respawn Time"
  1562.       }
  1563.       input#Enable: =
  1564.       {
  1565.         txt = "&"
  1566.         hint = "Enable spawning of combine balls"
  1567.       }
  1568.       input#Disable: =
  1569.       {
  1570.         txt = "&"
  1571.         hint = "Disable spawning of combine balls"
  1572.       }
  1573.       output#OnBallGrabbed: =
  1574.       {
  1575.         txt = "&"
  1576.         hint = "Fired when a combine ball is grabbed from the field by a mega "
  1577.          "physcannon"
  1578.       }
  1579.       output#OnBallReinserted: =
  1580.       {
  1581.         txt = "&"
  1582.         hint = "Fired when a combine ball is reinserted into the field (only g"
  1583.          "ets triggered when Combine Power supply is checked)"
  1584.       }
  1585.       output#OnBallHitTopSide: =
  1586.       {
  1587.         txt = "&"
  1588.         hint = "Fired when a combine ball in hits the top side of the field (o"
  1589.          "nly gets triggered when Combine Power supply is checked)"
  1590.       }
  1591.       output#OnBallHitBottomSide: =
  1592.       {
  1593.         txt = "&"
  1594.         hint = "Fired when a combine ball in hits the bottom side of the field"
  1595.          " (only gets triggered when Combine Power supply is checked)"
  1596.       }
  1597.       output#OnLastBallGrabbed: =
  1598.       {
  1599.         txt = "&"
  1600.         hint = "Fired when the last combine ball is grabbed from the field by "
  1601.          "a mega physcannon"
  1602.       }
  1603.       output#OnFirstBallReinserted: =
  1604.       {
  1605.         txt = "&"
  1606.         hint = "Fired when the first combine ball is reinserted into the field"
  1607.          " (only gets triggered when Combine Power supply is checked)"
  1608.       }
  1609.     }
  1610.     npc_combine_camera:form =
  1611.     {
  1612.       t_BaseNPC = !
  1613.       spawnflags: =
  1614.       {
  1615.         txt = "&"
  1616.         typ = "X32"
  1617.         cap = "Always Become Angry On New Enemy"
  1618.       }
  1619.       spawnflags: =
  1620.       {
  1621.         txt = "&"
  1622.         typ = "X64"
  1623.         cap = "Ignore Enemies (Scripted Targets Only)"
  1624.       }
  1625.       spawnflags: =
  1626.       {
  1627.         txt = "&"
  1628.         typ = "X128"
  1629.         cap = "Start Inactive"
  1630.       }
  1631.       innerradius: =
  1632.       {
  1633.         txt = "&"
  1634.         hint = "Inner radius"
  1635.       }
  1636.       outerradius: =
  1637.       {
  1638.         txt = "&"
  1639.         hint = "Outer radius"
  1640.       }
  1641.       minhealthdmg: =
  1642.       {
  1643.         txt = "&"
  1644.         hint = "Min req'd damage for hurting camera"
  1645.       }
  1646.       defaulttarget: =
  1647.       {
  1648.         txt = "&"
  1649.         hint = "Default target"
  1650.       }
  1651.       input#Disable: =
  1652.       {
  1653.         txt = "&"
  1654.         hint = "Disables the camera. If open, the camera closes."
  1655.       }
  1656.       input#Enable: =
  1657.       {
  1658.         txt = "&"
  1659.         hint = "Enables the camera. If closed, the camera opens."
  1660.       }
  1661.       input#Toggle: =
  1662.       {
  1663.         txt = "&"
  1664.         hint = "Toggle - If open, close. If closed, open."
  1665.       }
  1666.       input#SetDefaultTargetEntity: =
  1667.       {
  1668.         txt = "&"
  1669.         hint = "Sets the entity for the camera to track when it has nothing be"
  1670.          "tter to track, by name."
  1671.       }
  1672.       input#SetTargetEntity: =
  1673.       {
  1674.         txt = "&"
  1675.         hint = "Sets the entity for the camera to track now, by name."
  1676.       }
  1677.       input#SetAngry: =
  1678.       {
  1679.         txt = "&"
  1680.         hint = "Causes the camera to become angry as if it has seen something "
  1681.          "upsetting."
  1682.       }
  1683.       input#SetIdle: =
  1684.       {
  1685.         txt = "&"
  1686.         hint = "Causes the camera to calm down if it is angry."
  1687.       }
  1688.       output#OnFoundPlayer: =
  1689.       {
  1690.         txt = "&"
  1691.         hint = "Fired when the player is spotted within the inner radius"
  1692.       }
  1693.       output#OnFoundEnemy: =
  1694.       {
  1695.         txt = "&"
  1696.         hint = "Fired when a non-player enemy is spotted within the inner radi"
  1697.          "us."
  1698.       }
  1699.     }
  1700.     npc_turret_ground:form =
  1701.     {
  1702.       t_BaseNPC = !
  1703.       t_Parentname = !
  1704.       input#Enable: =
  1705.       {
  1706.         txt = "&"
  1707.         hint = "Turn turret on."
  1708.       }
  1709.       input#Disable: =
  1710.       {
  1711.         txt = "&"
  1712.         hint = "Turn turret off."
  1713.       }
  1714.       output#OnAreaClear: =
  1715.       {
  1716.         txt = "&"
  1717.         hint = "Fires when the turret can't find any more enemies (7 second de"
  1718.          "lay)"
  1719.       }
  1720.     }
  1721.     npc_turret_ceiling:form =
  1722.     {
  1723.       t_Targetname = !
  1724.       t_Angles = !
  1725.       t_Studiomodel = !
  1726.       spawnflags: =
  1727.       {
  1728.         txt = "&"
  1729.         typ = "X32"
  1730.         cap = "Autostart"
  1731.       }
  1732.       spawnflags: =
  1733.       {
  1734.         txt = "&"
  1735.         typ = "X64"
  1736.         cap = "Start Inactive"
  1737.       }
  1738.       spawnflags: =
  1739.       {
  1740.         txt = "&"
  1741.         typ = "X128"
  1742.         cap = "Never Retire"
  1743.       }
  1744.       minhealthdmg: =
  1745.       {
  1746.         txt = "&"
  1747.         hint = "Min req'd damage for hurting turret"
  1748.       }
  1749.       input#Enable: =
  1750.       {
  1751.         txt = "&"
  1752.         hint = "If closed, open."
  1753.       }
  1754.       input#Disable: =
  1755.       {
  1756.         txt = "&"
  1757.         hint = "If open, close."
  1758.       }
  1759.       input#Toggle: =
  1760.       {
  1761.         txt = "&"
  1762.         hint = "Toggle - If open, close. If closed, open."
  1763.       }
  1764.       output#OnDeploy: =
  1765.       {
  1766.         txt = "&"
  1767.         hint = "Turret is becoming active and dangerous."
  1768.       }
  1769.       output#OnRetire: =
  1770.       {
  1771.         txt = "&"
  1772.         hint = "Turret is becoming inactive and harmless."
  1773.       }
  1774.       output#OnTipped: =
  1775.       {
  1776.         txt = "&"
  1777.         hint = "Turret has been tipped over and is inactive."
  1778.       }
  1779.     }
  1780.     npc_turret_floor:form =
  1781.     {
  1782.       t_Targetname = !
  1783.       t_Angles = !
  1784.       spawnflags: =
  1785.       {
  1786.         txt = "&"
  1787.         typ = "X32"
  1788.         cap = "Autostart"
  1789.       }
  1790.       spawnflags: =
  1791.       {
  1792.         txt = "&"
  1793.         typ = "X64"
  1794.         cap = "Start Inactive"
  1795.       }
  1796.       spawnflags: =
  1797.       {
  1798.         txt = "&"
  1799.         typ = "X128"
  1800.         cap = "Fast Retire"
  1801.       }
  1802.       input#Toggle: =
  1803.       {
  1804.         txt = "&"
  1805.         hint = "Toggle - If open, close. If closed, open."
  1806.       }
  1807.       input#Enable: =
  1808.       {
  1809.         txt = "&"
  1810.         hint = "Enable the turret."
  1811.       }
  1812.       input#Disable: =
  1813.       {
  1814.         txt = "&"
  1815.         hint = "Disable the turret."
  1816.       }
  1817.       output#OnDeploy: =
  1818.       {
  1819.         txt = "&"
  1820.         hint = "Turret is becoming active and dangerous."
  1821.       }
  1822.       output#OnRetire: =
  1823.       {
  1824.         txt = "&"
  1825.         hint = "Turret is becoming inactive and harmless."
  1826.       }
  1827.       output#OnTipped: =
  1828.       {
  1829.         txt = "&"
  1830.         hint = "Turret has been tipped over and is inactive."
  1831.       }
  1832.       output#OnPhysGunPickup: =
  1833.       {
  1834.         txt = "&"
  1835.         hint = "Picked up with physgun"
  1836.       }
  1837.       output#OnPhysGunDrop: =
  1838.       {
  1839.         txt = "&"
  1840.         hint = "Released by physgun"
  1841.       }
  1842.     }
  1843.     t_VehicleDriverNPC:incl =
  1844.     {
  1845.       t_BaseNPC = !
  1846.       vehicle: =
  1847.       {
  1848.         txt = "&"
  1849.         hint = "Vehicle to drive"
  1850.       }
  1851.       spawnflags: =
  1852.       {
  1853.         txt = "&"
  1854.         typ = "X65536"
  1855.         cap = "Start Inactive"
  1856.       }
  1857.       input#StartFiring: =
  1858.       {
  1859.         txt = "&"
  1860.         hint = "Tell the driver to attack nearby enemies with the vehicle's we"
  1861.          "aponry (if any)"
  1862.       }
  1863.       input#StopFiring: =
  1864.       {
  1865.         txt = "&"
  1866.         hint = "Tell the driver to stop attacking nearby enemies with the vehi"
  1867.          "cle's weaponry."
  1868.       }
  1869.       input#GotoPathCorner: =
  1870.       {
  1871.         txt = "&"
  1872.         hint = "Tell the driver to go to a specific path corner and continue f"
  1873.          "rom there."
  1874.       }
  1875.     }
  1876.     npc_vehicledriver:form =
  1877.     {
  1878.       t_VehicleDriverNPC = !
  1879.       drivermaxspeed: =
  1880.       {
  1881.         txt = "&"
  1882.         hint = "Maxspeed (percentage of vehicle's maxspeed)."
  1883.       }
  1884.       driverminspeed: =
  1885.       {
  1886.         txt = "&"
  1887.         hint = "MinSpeed (percentage of vehicle's maxspeed)."
  1888.       }
  1889.       input#SetDriversMaxSpeed: =
  1890.       {
  1891.         txt = "&"
  1892.         hint = "Set the Maxspeed (percentage of vehicle's maxspeed)."
  1893.       }
  1894.       input#SetDriversMinSpeed: =
  1895.       {
  1896.         txt = "&"
  1897.         hint = "Set the Minspeed (percentage of vehicle's maxspeed)."
  1898.       }
  1899.       input#StartForward: =
  1900.       {
  1901.         txt = "&"
  1902.         hint = "Tell the driver to start driving."
  1903.       }
  1904.       input#Stop: =
  1905.       {
  1906.         txt = "&"
  1907.         hint = "Tell the driver to stop driving."
  1908.       }
  1909.     }
  1910.     npc_cranedriver:form =
  1911.     {
  1912.       t_VehicleDriverNPC = !
  1913.       releasepause: =
  1914.       {
  1915.         txt = "&"
  1916.         hint = "Pause time before dropping a ForceDrop specified object."
  1917.       }
  1918.       input#ForcePickup: =
  1919.       {
  1920.         txt = "&"
  1921.         hint = "Force the driver to pickup the specified entity (by targetname"
  1922.          ")"
  1923.       }
  1924.       input#ForceDrop: =
  1925.       {
  1926.         txt = "&"
  1927.         hint = "Force the driver to drop the currently held object at the spec"
  1928.          "ified entity's location."
  1929.       }
  1930.       output#OnPickedUpObject: =
  1931.       {
  1932.         txt = "&"
  1933.         hint = "Fired when the ForcePickup specified object has been picked up"
  1934.          "."
  1935.       }
  1936.       output#OnDroppedObject: =
  1937.       {
  1938.         txt = "&"
  1939.         hint = "Fired when the ForceDrop specified object has been dropped."
  1940.       }
  1941.       output#OnPausingBeforeDrop: =
  1942.       {
  1943.         txt = "&"
  1944.         hint = "Fired at the start of the pause before dropping the ForceDrop "
  1945.          "specified object."
  1946.       }
  1947.     }
  1948.     npc_apcdriver:form =
  1949.     {
  1950.       t_VehicleDriverNPC = !
  1951.       spawnflags: =
  1952.       {
  1953.         txt = "&"
  1954.         typ = "X65536"
  1955.         cap = "No Rocket Attacks"
  1956.       }
  1957.       spawnflags: =
  1958.       {
  1959.         txt = "&"
  1960.         typ = "X131072"
  1961.         cap = "No Gun Attacks"
  1962.       }
  1963.       drivermaxspeed: =
  1964.       {
  1965.         txt = "&"
  1966.         hint = "Maxspeed (percentage of vehicle's maxspeed)."
  1967.       }
  1968.       driverminspeed: =
  1969.       {
  1970.         txt = "&"
  1971.         hint = "MinSpeed (percentage of vehicle's maxspeed)."
  1972.       }
  1973.       input#SetDriversMaxSpeed: =
  1974.       {
  1975.         txt = "&"
  1976.         hint = "Set the Maxspeed (percentage of vehicle's maxspeed)."
  1977.       }
  1978.       input#SetDriversMinSpeed: =
  1979.       {
  1980.         txt = "&"
  1981.         hint = "Set the Minspeed (percentage of vehicle's maxspeed)."
  1982.       }
  1983.       input#StartForward: =
  1984.       {
  1985.         txt = "&"
  1986.         hint = "Tell the driver to start driving."
  1987.       }
  1988.       input#Stop: =
  1989.       {
  1990.         txt = "&"
  1991.         hint = "Tell the driver to stop driving."
  1992.       }
  1993.       input#DisableFiring: =
  1994.       {
  1995.         txt = "&"
  1996.         hint = "Disables firing from happening"
  1997.       }
  1998.       input#EnableFiring: =
  1999.       {
  2000.         txt = "&"
  2001.         hint = "Enables firing to start. Firing is enabled by default"
  2002.       }
  2003.     }
  2004.     npc_rollermine:form =
  2005.     {
  2006.       t_BaseNPC = !
  2007.       spawnflags: =
  2008.       {
  2009.         txt = "&"
  2010.         typ = "X65536"
  2011.         cap = "Friendly"
  2012.       }
  2013.       startburied: =
  2014.       {
  2015.         txt = "&"
  2016.         hint = "Start Buried"
  2017.         typ = "C"
  2018.         items = "No"$0D"Yes"
  2019.         values = "0"$0D"1"
  2020.       }
  2021.       output#OnPhysGunPickup: =
  2022.       {
  2023.         txt = "&"
  2024.         hint = "Picked up with physgun"
  2025.       }
  2026.       output#OnPhysGunDrop: =
  2027.       {
  2028.         txt = "&"
  2029.         hint = "Released by physgun"
  2030.       }
  2031.     }
  2032.     npc_missiledefense:form =
  2033.     {
  2034.       t_BaseNPC = !
  2035.     }
  2036.     npc_sniper:form =
  2037.     {
  2038.       t_BaseNPC = !
  2039.       radius: =
  2040.       {
  2041.         txt = "&"
  2042.         hint = "Patience Radius"
  2043.       }
  2044.       misses: =
  2045.       {
  2046.         txt = "&"
  2047.         hint = "Initial Misses"
  2048.       }
  2049.       beambrightness: =
  2050.       {
  2051.         txt = "&"
  2052.         hint = "Beam Brightness (0 to 255)"
  2053.       }
  2054.       shielddistance: =
  2055.       {
  2056.         txt = "&"
  2057.         hint = "Bullet shield distance"
  2058.       }
  2059.       shieldradius: =
  2060.       {
  2061.         txt = "&"
  2062.         hint = "Bullet shield radius"
  2063.       }
  2064.       input#EnableSniper: =
  2065.       {
  2066.         txt = "&"
  2067.         hint = "Enable Shooting"
  2068.       }
  2069.       input#DisableSniper: =
  2070.       {
  2071.         txt = "&"
  2072.         hint = "Disable Shooting"
  2073.       }
  2074.       input#SetDecoyRadius: =
  2075.       {
  2076.         txt = "&"
  2077.         hint = "Set Decoy Radius"
  2078.       }
  2079.       input#SweepTarget: =
  2080.       {
  2081.         txt = "&"
  2082.         hint = "Sweep a Target"
  2083.       }
  2084.       input#SweepTargetHighestPriority: =
  2085.       {
  2086.         txt = "&"
  2087.         hint = "Drop everything and sweep this target!"
  2088.       }
  2089.       input#SweepGroupRandomly: =
  2090.       {
  2091.         txt = "&"
  2092.         hint = "Randomly Sweep a Group"
  2093.       }
  2094.       spawnflags: =
  2095.       {
  2096.         txt = "&"
  2097.         typ = "X65536"
  2098.         cap = "Hidden"
  2099.       }
  2100.       spawnflags: =
  2101.       {
  2102.         txt = "&"
  2103.         typ = "X131072"
  2104.         cap = "Laser Viewcone"
  2105.       }
  2106.       spawnflags: =
  2107.       {
  2108.         txt = "&"
  2109.         typ = "X262144"
  2110.         cap = "No Corpse"
  2111.       }
  2112.       spawnflags: =
  2113.       {
  2114.         txt = "&"
  2115.         typ = "X524288"
  2116.         cap = "Start Disabled"
  2117.       }
  2118.     }
  2119.     info_snipertarget:form =
  2120.     {
  2121.       t_Targetname = !
  2122.       t_Parentname = !
  2123.       speed: =
  2124.       {
  2125.         txt = "&"
  2126.         hint = "Sweep to speed"
  2127.       }
  2128.       groupname: =
  2129.       {
  2130.         txt = "&"
  2131.         hint = "Group Name"
  2132.       }
  2133.       spawnflags: =
  2134.       {
  2135.         txt = "&"
  2136.         typ = "X1"
  2137.         cap = "Shoot Me"
  2138.       }
  2139.       spawnflags: =
  2140.       {
  2141.         txt = "&"
  2142.         typ = "X2"
  2143.         cap = "No Interruptions"
  2144.       }
  2145.       spawnflags: =
  2146.       {
  2147.         txt = "&"
  2148.         typ = "X4"
  2149.         cap = "Snap Shot"
  2150.       }
  2151.       spawnflags: =
  2152.       {
  2153.         txt = "&"
  2154.         typ = "X8"
  2155.         cap = "Resume if Interrupted"
  2156.       }
  2157.       spawnflags: =
  2158.       {
  2159.         txt = "&"
  2160.         typ = "X16"
  2161.         cap = "Snap to me"
  2162.       }
  2163.     }
  2164.     prop_thumper:form =
  2165.     {
  2166.       t_Targetname = !
  2167.       t_Angles = !
  2168.       t_modelselect = !
  2169.       dustscale: =
  2170.       {
  2171.         txt = "&"
  2172.         hint = "Dust Scale"
  2173.         typ = "C"
  2174.         items = "Small Thumper"$0D"Large Thumper"
  2175.         values = "128"$0D"256"
  2176.       }
  2177.       input#Enable: =
  2178.       {
  2179.         txt = "&"
  2180.         hint = "Enable Thumper"
  2181.       }
  2182.       input#Disable: =
  2183.       {
  2184.         txt = "&"
  2185.         hint = "Disable Thumper"
  2186.       }
  2187.     }
  2188.     npc_antlion:form =
  2189.     {
  2190.       t_BaseNPC = !
  2191.       startburrowed: =
  2192.       {
  2193.         txt = "&"
  2194.         hint = "Start Burrowed"
  2195.         typ = "C"
  2196.         items = "No"$0D"Yes"
  2197.         values = "0"$0D"1"
  2198.       }
  2199.       spawnflags: =
  2200.       {
  2201.         txt = "&"
  2202.         typ = "X65536"
  2203.         cap = "Burrow when eluded"
  2204.       }
  2205.       spawnflags: =
  2206.       {
  2207.         txt = "&"
  2208.         typ = "X131072"
  2209.         cap = "Use Ground Checks"
  2210.       }
  2211.       radius: =
  2212.       {
  2213.         txt = "&"
  2214.         hint = "Alert Radius"
  2215.       }
  2216.       eludedist: =
  2217.       {
  2218.         txt = "&"
  2219.         hint = "Distance until eluded"
  2220.       }
  2221.       ignorebugbait: =
  2222.       {
  2223.         txt = "&"
  2224.         hint = "Ignore Bugbait"
  2225.         typ = "C"
  2226.         items = "No"$0D"Yes"
  2227.         values = "0"$0D"1"
  2228.       }
  2229.       input#Unburrow: =
  2230.       {
  2231.         txt = "&"
  2232.         hint = "Unburrow from the ground"
  2233.       }
  2234.       input#Burrow: =
  2235.       {
  2236.         txt = "&"
  2237.         hint = "Burrow into the ground"
  2238.       }
  2239.       input#FightToPosition: =
  2240.       {
  2241.         txt = "&"
  2242.         hint = "Fight to position"
  2243.       }
  2244.       input#EnableJump: =
  2245.       {
  2246.         txt = "&"
  2247.         hint = "Allow non-navigational jumping"
  2248.       }
  2249.       input#DisableJump: =
  2250.       {
  2251.         txt = "&"
  2252.         hint = "Disallow non-navigational jumping"
  2253.       }
  2254.       input#IgnoreBugbait: =
  2255.       {
  2256.         txt = "&"
  2257.         hint = "Ignore bugbait"
  2258.       }
  2259.       input#HearBugbait: =
  2260.       {
  2261.         txt = "&"
  2262.         hint = "Hear bugbait"
  2263.       }
  2264.       output#OnReachedFightGoal: =
  2265.       {
  2266.         txt = "&"
  2267.         hint = "Fires when the antlion reaches his specified fight-to location"
  2268.       }
  2269.     }
  2270.     npc_antlionguard:form =
  2271.     {
  2272.       t_BaseNPC = !
  2273.       spawnflags: =
  2274.       {
  2275.         txt = "&"
  2276.         typ = "X65536"
  2277.         cap = "Create server-side ragdoll on death"
  2278.       }
  2279.       spawnflags: =
  2280.       {
  2281.         txt = "&"
  2282.         typ = "X131072"
  2283.         cap = "Use inside footsteps"
  2284.       }
  2285.       startburrowed: =
  2286.       {
  2287.         txt = "&"
  2288.         hint = "Start Burrowed"
  2289.         typ = "C"
  2290.         items = "No"$0D"Yes"
  2291.         values = "0"$0D"1"
  2292.       }
  2293.       allowbark: =
  2294.       {
  2295.         txt = "&"
  2296.         hint = "Allow Bark"
  2297.         typ = "C"
  2298.         items = "No"$0D"Yes"
  2299.         values = "0"$0D"1"
  2300.       }
  2301.       input#Unburrow: =
  2302.       {
  2303.         txt = "&"
  2304.         hint = "Unburrow from the ground"
  2305.       }
  2306.       input#SetShoveTarget: =
  2307.       {
  2308.         txt = "&"
  2309.         hint = "Sets a shove target to attack"
  2310.       }
  2311.       input#SetChargeTarget: =
  2312.       {
  2313.         txt = "&"
  2314.         hint = "Sets a charge target to attack"
  2315.       }
  2316.       input#ClearChargeTarget: =
  2317.       {
  2318.         txt = "&"
  2319.         hint = "Clear the charge target"
  2320.       }
  2321.       input#SetCoverFromAttack: =
  2322.       {
  2323.         txt = "&"
  2324.         hint = "Sets whether or not the creature will protect itself from atta"
  2325.          "cks"
  2326.       }
  2327.       input#Ragdoll: =
  2328.       {
  2329.         txt = "&"
  2330.         hint = "Causes the antlion guard to die, regardless of health"
  2331.       }
  2332.       input#EnableBark: =
  2333.       {
  2334.         txt = "&"
  2335.         hint = "Allow the antlion guard to try and summon antlions"
  2336.       }
  2337.       input#DisableBark: =
  2338.       {
  2339.         txt = "&"
  2340.         hint = "Stop the antlion guard from trying to summon antlions"
  2341.       }
  2342.       input#InvestigateHint: =
  2343.       {
  2344.         txt = "&"
  2345.         hint = "Sniff around at a hint group until told otherwise"
  2346.       }
  2347.       input#StopInvestigating: =
  2348.       {
  2349.         txt = "&"
  2350.         hint = "Stop trying to sniff out the player"
  2351.       }
  2352.       output#OnSeeHiddenPlayer: =
  2353.       {
  2354.         txt = "&"
  2355.         hint = "Fires when the current enemy is seen while trying to hide"
  2356.       }
  2357.       output#OnSmellHiddenPlayer: =
  2358.       {
  2359.         txt = "&"
  2360.         hint = "Fires when the current enemy is smelled while trying to hide"
  2361.       }
  2362.       output#OnSummon: =
  2363.       {
  2364.         txt = "&"
  2365.         hint = "Antlion guard is attempting to summon antlions"
  2366.       }
  2367.     }
  2368.     npc_crow:form =
  2369.     {
  2370.       t_BaseNPC = !
  2371.       input#FlyAway: =
  2372.       {
  2373.         txt = "&"
  2374.         hint = "Forces the crow to fly to the nearest crow flyto hint node."
  2375.       }
  2376.     }
  2377.     npc_seagull:form =
  2378.     {
  2379.       t_BaseNPC = !
  2380.       input#FlyAway: =
  2381.       {
  2382.         txt = "&"
  2383.         hint = "Forces the seagull to fly to the nearest crow flyto hint node."
  2384.       }
  2385.     }
  2386.     npc_pigeon:form =
  2387.     {
  2388.       t_BaseNPC = !
  2389.       input#FlyAway: =
  2390.       {
  2391.         txt = "&"
  2392.         hint = "Forces the pigeon to fly to the nearest crow flyto hint node."
  2393.       }
  2394.     }
  2395.     npc_ichthyosaur:form =
  2396.     {
  2397.       t_BaseNPC = !
  2398.     }
  2399.     t_BaseHeadcrab:incl =
  2400.     {
  2401.       t_BaseNPC = !
  2402.       startburrowed: =
  2403.       {
  2404.         txt = "&"
  2405.         hint = "Start burrowed"
  2406.         typ = "C"
  2407.         items = "No"$0D"Yes"
  2408.         values = "0"$0D"1"
  2409.       }
  2410.       spawnflags: =
  2411.       {
  2412.         txt = "&"
  2413.         typ = "X65536"
  2414.         cap = "Start hidden"
  2415.       }
  2416.     }
  2417.     npc_headcrab:form =
  2418.     {
  2419.       t_BaseHeadcrab = !
  2420.       t_Parentname = !
  2421.     }
  2422.     npc_headcrab_fast:form =
  2423.     {
  2424.       t_BaseHeadcrab = !
  2425.     }
  2426.     npc_headcrab_black:form =
  2427.     {
  2428.       t_BaseHeadcrab = !
  2429.     }
  2430.     npc_stalker:form =
  2431.     {
  2432.       t_BaseNPC = !
  2433.       BeamPower: =
  2434.       {
  2435.         txt = "&"
  2436.         hint = "Beam Power"
  2437.         typ = "C"
  2438.         items = "Low"$0D"Medium"$0D"High"
  2439.         values = "0"$0D"1"$0D"2"
  2440.       }
  2441.     }
  2442.     npc_bullseye:form =
  2443.     {
  2444.       t_Parentname = !
  2445.       t_BaseNPC = !
  2446.       health: =
  2447.       {
  2448.         txt = "&"
  2449.         hint = "Health"
  2450.       }
  2451.       spawnflags: =
  2452.       {
  2453.         txt = "&"
  2454.         typ = "X65536"
  2455.         cap = "Not Solid"
  2456.       }
  2457.       spawnflags: =
  2458.       {
  2459.         txt = "&"
  2460.         typ = "X131072"
  2461.         cap = "Take No Damage"
  2462.       }
  2463.       spawnflags: =
  2464.       {
  2465.         txt = "&"
  2466.         typ = "X262144"
  2467.         cap = "Enemy Damage Only"
  2468.       }
  2469.       spawnflags: =
  2470.       {
  2471.         txt = "&"
  2472.         typ = "X524288"
  2473.         cap = "Bleed"
  2474.       }
  2475.       spawnflags: =
  2476.       {
  2477.         txt = "&"
  2478.         typ = "X1048576"
  2479.         cap = "Perfect Accuracy"
  2480.       }
  2481.       output#OnTargeted: =
  2482.       {
  2483.         txt = "&"
  2484.         hint = "Fires when targeted"
  2485.       }
  2486.       output#OnReleased: =
  2487.       {
  2488.         txt = "&"
  2489.         hint = "Fires when no longer targeted"
  2490.       }
  2491.     }
  2492.     npc_enemyfinder:form =
  2493.     {
  2494.       bbox = '-16 -16 -16 16 16 16'
  2495.       t_Parentname = !
  2496.       t_BaseNPC = !
  2497.       spawnflags: =
  2498.       {
  2499.         txt = "&"
  2500.         typ = "X65536"
  2501.         cap = "Check Visibility"
  2502.       }
  2503.       spawnflags: =
  2504.       {
  2505.         txt = "&"
  2506.         typ = "X131072"
  2507.         cap = "APC Visibility checks"
  2508.       }
  2509.       spawnflags: =
  2510.       {
  2511.         txt = "&"
  2512.         typ = "X262144"
  2513.         cap = "Short memory"
  2514.       }
  2515.       spawnflags: =
  2516.       {
  2517.         txt = "&"
  2518.         typ = "X524288"
  2519.         cap = "Can be an enemy"
  2520.       }
  2521.       FieldOfView: =
  2522.       {
  2523.         txt = "&"
  2524.         hint = "FieldOfView"
  2525.       }
  2526.       MinSearchDist: =
  2527.       {
  2528.         txt = "&"
  2529.         hint = "Min Search Dist"
  2530.       }
  2531.       MaxSearchDist: =
  2532.       {
  2533.         txt = "&"
  2534.         hint = "Max Search Dist"
  2535.       }
  2536.       freepass_timetotrigger: =
  2537.       {
  2538.         txt = "&"
  2539.         hint = "Player pass issue time"
  2540.       }
  2541.       freepass_duration: =
  2542.       {
  2543.         txt = "&"
  2544.         hint = "Player pass duration"
  2545.       }
  2546.       freepass_movetolerance: =
  2547.       {
  2548.         txt = "&"
  2549.         hint = "Player pass move tolerance"
  2550.       }
  2551.       freepass_refillrate: =
  2552.       {
  2553.         txt = "&"
  2554.         hint = "Player pass refill rate"
  2555.       }
  2556.       freepass_peektime: =
  2557.       {
  2558.         txt = "&"
  2559.         hint = "Player pass peek time"
  2560.       }
  2561.       StartOn: =
  2562.       {
  2563.         txt = "&"
  2564.         hint = "Start On"
  2565.         typ = "C"
  2566.         items = "No"$0D"Yes"
  2567.         values = "0"$0D"1"
  2568.       }
  2569.       input#TurnOn: =
  2570.       {
  2571.         txt = "&"
  2572.         hint = "Turn on: Look for enemies"
  2573.       }
  2574.       input#TurnOff: =
  2575.       {
  2576.         txt = "&"
  2577.         hint = "Turn off: Stop looking for enemies"
  2578.       }
  2579.     }
  2580.     npc_citizen:form =
  2581.     {
  2582.       t_BaseNPC = !
  2583.       t_Parentname = !
  2584.       spawnflags: =
  2585.       {
  2586.         txt = "&"
  2587.         typ = "X65536"
  2588.         cap = "Follow player on spawn"
  2589.       }
  2590.       spawnflags: =
  2591.       {
  2592.         txt = "&"
  2593.         typ = "X131072"
  2594.         cap = "Medic"
  2595.       }
  2596.       spawnflags: =
  2597.       {
  2598.         txt = "&"
  2599.         typ = "X262144"
  2600.         cap = "Random Head"
  2601.       }
  2602.       spawnflags: =
  2603.       {
  2604.         txt = "&"
  2605.         typ = "X524288"
  2606.         cap = "Ammo Resupplier"
  2607.       }
  2608.       spawnflags: =
  2609.       {
  2610.         txt = "&"
  2611.         typ = "X1048576"
  2612.         cap = "Not Commandable"
  2613.       }
  2614.       spawnflags: =
  2615.       {
  2616.         txt = "&"
  2617.         typ = "X2097152"
  2618.         cap = "Don't use Speech Semaphore"
  2619.       }
  2620.       spawnflags: =
  2621.       {
  2622.         txt = "&"
  2623.         typ = "X4194304"
  2624.         cap = "Random male head"
  2625.       }
  2626.       spawnflags: =
  2627.       {
  2628.         txt = "&"
  2629.         typ = "X8388608"
  2630.         cap = "Random female head"
  2631.       }
  2632.       spawnflags: =
  2633.       {
  2634.         txt = "&"
  2635.         typ = "X16777216"
  2636.         cap = "Use RenderBox in ActBusies"
  2637.       }
  2638.       additionalequipment: =
  2639.       {
  2640.         txt = "&"
  2641.         hint = "Weapons"
  2642.         typ = "C"
  2643.         items = "SMG1"$0D"AR2"$0D"Stun Stick"$0D"Crow Bar"$0D"Shotgun"$0D"Beer"
  2644.          " Bottle"$0D"Beer Bottle2"$0D"RPG"$0D"Nothing"
  2645.         values = "weapon_smg1"$0D"weapon_ar2"$0D"weapon_stunstick"$0D"weapon_c"
  2646.          "rowbar"$0D"weapon_shotgun"$0D"weapon_beerbottle"$0D"weapon_beerbottl"
  2647.          "e2"$0D"weapon_rpg"$0D"0"
  2648.       }
  2649.       ammosupply: =
  2650.       {
  2651.         txt = "&"
  2652.         hint = "Ammo to Resupply (if spawnflag set)"
  2653.         typ = "C"
  2654.         items = "Pistol"$0D"SMG1"$0D"SMG1 Grenade"$0D"AR2"$0D"Shotgun"$0D"RPG"$0D
  2655.          "Grenade"$0D"Crossbow Bolt"
  2656.         values = "Pistol"$0D"SMG1"$0D"SMG1_Grenade"$0D"AR2"$0D"Buckshot"$0D"RP"
  2657.          "G_Round"$0D"Grenade"$0D"XBowBolt"
  2658.       }
  2659.       ammoamount: =
  2660.       {
  2661.         txt = "&"
  2662.         hint = "Amount of ammo to give"
  2663.       }
  2664.       citizentype: =
  2665.       {
  2666.         txt = "&"
  2667.         hint = "Type"
  2668.         typ = "C"
  2669.         items = "Default"$0D"Downtrodden"$0D"Refugee"$0D"Rebel"$0D"Unique"
  2670.         values = "0"$0D"1"$0D"2"$0D"3"$0D"4"
  2671.       }
  2672.       expressiontype: =
  2673.       {
  2674.         txt = "&"
  2675.         hint = "Expression Type"
  2676.         typ = "C"
  2677.         items = "Random"$0D"Scared"$0D"Normal"$0D"Angry"
  2678.         values = "0"$0D"1"$0D"2"$0D"3"
  2679.       }
  2680.       model: =
  2681.       {
  2682.         txt = "&"
  2683.         hint = "Model"
  2684.         typ = "C"
  2685.         items = "Male 1"$0D"Male 2"$0D"Male 3"$0D"Male 4"$0D"Male 5"$0D"Male 6"
  2686.          $0D"Female 1"$0D"Female 2"$0D"Female 3"$0D"Female 4"$0D"Female 5"$0D"F"
  2687.          "emale 6"$0D"Cheaple Male 1"$0D"Odessa. DO NOT USE."
  2688.         values = "models/humans/group01/male_01.mdl"$0D"models/humans/group01/"
  2689.          "male_02.mdl"$0D"models/humans/group01/male_03.mdl"$0D"models/humans/"
  2690.          "group01/male_07.mdl"$0D"models/humans/group01/male_08.mdl"$0D"models"
  2691.          "/humans/group01/male_09.mdl"$0D"models/humans/group01/female_01.mdl"$0D
  2692.          "models/humans/group01/female_02.mdl"$0D"models/humans/group01/female"
  2693.          "_03.mdl"$0D"models/humans/group01/female_04.mdl"$0D"models/humans/gr"
  2694.          "oup01/female_06.mdl"$0D"models/humans/group01/female_07.mdl"$0D"mode"
  2695.          "ls/humans/male_cheaple.mdl"$0D"models/odessa.mdl"
  2696.       }
  2697.       ExpressionOverride: =
  2698.       {
  2699.         txt = "&"
  2700.         hint = "Facial expression override"
  2701.       }
  2702.       notifynavfailblocked: =
  2703.       {
  2704.         txt = "&"
  2705.         hint = "Fire output when Nav is blocked?"
  2706.         typ = "C"
  2707.         items = "No"$0D"Yes"
  2708.         values = "0"$0D"1"
  2709.       }
  2710.       input#SetExpressionOverride: =
  2711.       {
  2712.         txt = "&"
  2713.         hint = "Set facial expression override"
  2714.       }
  2715.       input#StartPatrolling: =
  2716.       {
  2717.         txt = "&"
  2718.         hint = "Patrol whenever I'm idle or alert."
  2719.       }
  2720.       input#StopPatrolling: =
  2721.       {
  2722.         txt = "&"
  2723.         hint = "Stop patrolling when I'm idle or alert."
  2724.       }
  2725.       input#SetCommandable: =
  2726.       {
  2727.         txt = "&"
  2728.         hint = "Make a previously uncommandable citizen commandable"
  2729.       }
  2730.       input#SetMedicOn: =
  2731.       {
  2732.         txt = "&"
  2733.         hint = "Set the medic flag on. Will not change the model or skin of th"
  2734.          "e citizen."
  2735.       }
  2736.       input#SetMedicOff: =
  2737.       {
  2738.         txt = "&"
  2739.         hint = "Set the medic flag off. Will not change the model or skin of t"
  2740.          "he citizen."
  2741.       }
  2742.       input#SetAmmoResupplierOn: =
  2743.       {
  2744.         txt = "&"
  2745.         hint = "Set the ammo-resupplier flag on. Will not change the model or "
  2746.          "skin of the citizen."
  2747.       }
  2748.       input#SetAmmoResupplierOff: =
  2749.       {
  2750.         txt = "&"
  2751.         hint = "Set the ammo-resupplier flag off. Will not change the model or"
  2752.          " skin of the citizen."
  2753.       }
  2754.       input#SetReadinessLow: =
  2755.       {
  2756.         txt = "&"
  2757.         hint = "Set readiness to calmest state (Bored)"
  2758.       }
  2759.       input#SetReadinessMedium: =
  2760.       {
  2761.         txt = "&"
  2762.         hint = "Set readiness to moderate (Alert)"
  2763.       }
  2764.       input#SetReadinessHigh: =
  2765.       {
  2766.         txt = "&"
  2767.         hint = "Set readiness to highest. (Combat imminent)"
  2768.       }
  2769.       input#LockReadiness: =
  2770.       {
  2771.         txt = "&"
  2772.         hint = "Lock readiness at current setting for x seconds -1 = forever, "
  2773.          "0 = unlock now"
  2774.       }
  2775.       output#OnJoinedPlayerSquad: =
  2776.       {
  2777.         txt = "&"
  2778.         hint = "Fires when joins player squad"
  2779.       }
  2780.       output#OnLeftPlayerSquad: =
  2781.       {
  2782.         txt = "&"
  2783.         hint = "Fires when leaves player squad"
  2784.       }
  2785.       output#OnFollowOrder: =
  2786.       {
  2787.         txt = "&"
  2788.         hint = "Fires when ordered to follow player"
  2789.       }
  2790.       output#OnStationOrder: =
  2791.       {
  2792.         txt = "&"
  2793.         hint = "Fires when ordered to a location by player"
  2794.       }
  2795.       output#OnPlayerUse: =
  2796.       {
  2797.         txt = "&"
  2798.         hint = "Fires when a player +USEs the citizen"
  2799.       }
  2800.       output#OnNavFailBlocked: =
  2801.       {
  2802.         txt = "&"
  2803.         hint = "Fires when this Citizen's movement fails because he/she is blo"
  2804.          "cked."
  2805.       }
  2806.     }
  2807.     npc_barney:form =
  2808.     {
  2809.       t_BaseNPC = !
  2810.       additionalequipment: =
  2811.       {
  2812.         txt = "&"
  2813.         hint = "Weapons"
  2814.         typ = "C"
  2815.         items = "Pistol"$0D"SMG1"$0D"Stun Stick"$0D"Shotgun"$0D"AR2"$0D"Nothin"
  2816.          "g"
  2817.         values = "weapon_pistol"$0D"weapon_smg1"$0D"weapon_stunstick"$0D"weapo"
  2818.          "n_shotgun"$0D"weapon_ar2"$0D"0"
  2819.       }
  2820.       input#SetReadinessLow: =
  2821.       {
  2822.         txt = "&"
  2823.         hint = "Set readiness to calmest state (Bored)"
  2824.       }
  2825.       input#SetReadinessMedium: =
  2826.       {
  2827.         txt = "&"
  2828.         hint = "Set readiness to moderate (Alert)"
  2829.       }
  2830.       input#SetReadinessHigh: =
  2831.       {
  2832.         txt = "&"
  2833.         hint = "Set readiness to highest. (Combat imminent)"
  2834.       }
  2835.       input#LockReadiness: =
  2836.       {
  2837.         txt = "&"
  2838.         hint = "Lock readiness at current setting for x seconds -1 = forever, "
  2839.          "0 = unlock now"
  2840.       }
  2841.       ExpressionOverride: =
  2842.       {
  2843.         txt = "&"
  2844.         hint = "Facial expression override"
  2845.       }
  2846.       input#SetExpressionOverride: =
  2847.       {
  2848.         txt = "&"
  2849.         hint = "Set facial expression override"
  2850.       }
  2851.     }
  2852.     t_BaseCombine:incl =
  2853.     {
  2854.       t_BaseNPC = !
  2855.       t_RappelNPC = !
  2856.       additionalequipment: =
  2857.       {
  2858.         txt = "&"
  2859.         hint = "Weapons"
  2860.         typ = "C"
  2861.         items = "AR2"$0D"Shotgun"$0D"SMG1"$0D"Stun Stick"$0D"Nothing"
  2862.         values = "weapon_ar2"$0D"weapon_shotgun"$0D"weapon_smg1"$0D"weapon_stu"
  2863.          "nstick"$0D"0"
  2864.       }
  2865.       spawnflags: =
  2866.       {
  2867.         txt = "&"
  2868.         typ = "X65536"
  2869.         cap = "Start LookOff"
  2870.       }
  2871.       NumGrenades: =
  2872.       {
  2873.         txt = "&"
  2874.         hint = "Number of Grenades"
  2875.         typ = "C"
  2876.         items = "None"$0D"1"$0D"2"$0D"3"$0D"4"$0D"5"$0D"Unlimited"
  2877.         values = "0"$0D"1"$0D"2"$0D"3"$0D"4"$0D"5"$0D"999999"
  2878.       }
  2879.       input#LookOn: =
  2880.       {
  2881.         txt = "&"
  2882.         hint = "Look normally"
  2883.       }
  2884.       input#LookOff: =
  2885.       {
  2886.         txt = "&"
  2887.         hint = "Don't look for myself, use other squad member's eyes"
  2888.       }
  2889.       input#StartPatrolling: =
  2890.       {
  2891.         txt = "&"
  2892.         hint = "Patrol whenever I'm idle or alert."
  2893.       }
  2894.       input#StopPatrolling: =
  2895.       {
  2896.         txt = "&"
  2897.         hint = "Stop patrolling when I'm idle or alert."
  2898.       }
  2899.       input#ThrowGrenadeAtTarget: =
  2900.       {
  2901.         txt = "&"
  2902.         hint = "Throw a grenade at the specified target."
  2903.       }
  2904.     }
  2905.     npc_combine_s:form =
  2906.     {
  2907.       t_BaseCombine = !
  2908.       model: =
  2909.       {
  2910.         txt = "&"
  2911.         hint = "Model"
  2912.         typ = "C"
  2913.         items = "Regular Soldier"$0D"Nova Prospekt Soldier"$0D"Elite Soldier"
  2914.         values = "models/combine_soldier.mdl"$0D"models/combine_soldier_prison"
  2915.          "guard.mdl"$0D"models/combine_super_soldier.mdl"
  2916.       }
  2917.     }
  2918.     npc_launcher:form =
  2919.     {
  2920.       t_Parentname = !
  2921.       t_BaseNPC = !
  2922.       spawnflags: =
  2923.       {
  2924.         txt = "&"
  2925.         typ = "X65536"
  2926.         cap = "Check LOS"
  2927.       }
  2928.       StartOn: =
  2929.       {
  2930.         txt = "&"
  2931.         hint = "Start On"
  2932.         typ = "C"
  2933.         items = "Off"$0D"On"
  2934.         values = "0"$0D"1"
  2935.       }
  2936.       MissileModel: =
  2937.       {
  2938.         txt = "&"
  2939.         hint = "Missile Model"
  2940.         typ = "B"
  2941.         Cap = "models..."
  2942.         form = "t_models_hl2_form:form"
  2943.       }
  2944.       LaunchSound: =
  2945.       {
  2946.         txt = "&"
  2947.         hint = "Launch Sound"
  2948.       }
  2949.       FlySound: =
  2950.       {
  2951.         txt = "&"
  2952.         hint = "Fly Sound"
  2953.       }
  2954.       SmokeTrail: =
  2955.       {
  2956.         txt = "&"
  2957.         hint = "Smoke Trail"
  2958.         typ = "C"
  2959.         items = "Off"$0D"On"$0D"On Homing"
  2960.         values = "0"$0D"1"$0D"2"
  2961.       }
  2962.       LaunchSmoke: =
  2963.       {
  2964.         txt = "&"
  2965.         hint = "Launch Smoke"
  2966.         typ = "C"
  2967.         items = "Off"$0D"On"
  2968.         values = "0"$0D"1"
  2969.       }
  2970.       LaunchDelay: =
  2971.       {
  2972.         txt = "&"
  2973.         hint = "Launch Delay"
  2974.       }
  2975.       LaunchSpeed: =
  2976.       {
  2977.         txt = "&"
  2978.         hint = "Launch Speed"
  2979.       }
  2980.       PathCornerName: =
  2981.       {
  2982.         txt = "&"
  2983.         hint = "Path Corner Name"
  2984.       }
  2985.       HomingSpeed: =
  2986.       {
  2987.         txt = "&"
  2988.         hint = "Homing Speed"
  2989.       }
  2990.       HomingStrength: =
  2991.       {
  2992.         txt = "&"
  2993.         hint = "Homing Strength"
  2994.       }
  2995.       HomingDelay: =
  2996.       {
  2997.         txt = "&"
  2998.         hint = "Homing Delay"
  2999.       }
  3000.       HomingRampUp: =
  3001.       {
  3002.         txt = "&"
  3003.         hint = "Homing Ramp Up"
  3004.       }
  3005.       HomingDuration: =
  3006.       {
  3007.         txt = "&"
  3008.         hint = "Homing Duration"
  3009.       }
  3010.       HomingRampDown: =
  3011.       {
  3012.         txt = "&"
  3013.         hint = "Homing Ramp Down"
  3014.       }
  3015.       Gravity: =
  3016.       {
  3017.         txt = "&"
  3018.         hint = "Gravity"
  3019.       }
  3020.       MinRange: =
  3021.       {
  3022.         txt = "&"
  3023.         hint = "Min Range"
  3024.       }
  3025.       MaxRange: =
  3026.       {
  3027.         txt = "&"
  3028.         hint = "Max Range"
  3029.       }
  3030.       SpinMagnitude: =
  3031.       {
  3032.         txt = "&"
  3033.         hint = "Spin Magnitude"
  3034.       }
  3035.       SpinSpeed: =
  3036.       {
  3037.         txt = "&"
  3038.         hint = "Spin Speed"
  3039.       }
  3040.       Damage: =
  3041.       {
  3042.         txt = "&"
  3043.         hint = "Damage"
  3044.       }
  3045.       DamageRadius: =
  3046.       {
  3047.         txt = "&"
  3048.         hint = "DamageRadius"
  3049.       }
  3050.       output#OnLaunch: =
  3051.       {
  3052.         txt = "&"
  3053.         hint = "Fires when missile is launched"
  3054.       }
  3055.       input#TurnOn: =
  3056.       {
  3057.         txt = "&"
  3058.         hint = "Turn on Launcher"
  3059.       }
  3060.       input#TurnOff: =
  3061.       {
  3062.         txt = "&"
  3063.         hint = "Turn off Launcher"
  3064.       }
  3065.       input#LOSCheckOn: =
  3066.       {
  3067.         txt = "&"
  3068.         hint = "Start checking line of sight before firing"
  3069.       }
  3070.       input#LOSCheckOff: =
  3071.       {
  3072.         txt = "&"
  3073.         hint = "Stop checking line of sight before firing"
  3074.       }
  3075.       input#SetEnemyEntity: =
  3076.       {
  3077.         txt = "&"
  3078.         hint = "Set entity I should attack. Ignores visibility. (output from o"
  3079.          "ther entity only)"
  3080.       }
  3081.       input#ClearEnemyEntity: =
  3082.       {
  3083.         txt = "&"
  3084.         hint = "Clear set enemy enemy"
  3085.       }
  3086.       input#FireOnce: =
  3087.       {
  3088.         txt = "&"
  3089.         hint = "Fire Once (if have enemy)"
  3090.       }
  3091.     }
  3092.     env_gunfire:form =
  3093.     {
  3094.       t_Targetname = !
  3095.       t_Parentname = !
  3096.       t_Targetname = !
  3097.       t_EnableDisable = !
  3098.       target: =
  3099.       {
  3100.         txt = "&"
  3101.         hint = "Target"
  3102.       }
  3103.       minburstsize: =
  3104.       {
  3105.         txt = "&"
  3106.         hint = "Min Burst Size"
  3107.       }
  3108.       maxburstsize: =
  3109.       {
  3110.         txt = "&"
  3111.         hint = "Max Burst Size"
  3112.       }
  3113.       minburstdelay: =
  3114.       {
  3115.         txt = "&"
  3116.         hint = "Min Delay Between Bursts"
  3117.       }
  3118.       maxburstdelay: =
  3119.       {
  3120.         txt = "&"
  3121.         hint = "Max Delay Between Bursts"
  3122.       }
  3123.       rateoffire: =
  3124.       {
  3125.         txt = "&"
  3126.         hint = "Rate of fire"
  3127.       }
  3128.       spread: =
  3129.       {
  3130.         txt = "&"
  3131.         hint = "Bullet spread"
  3132.         typ = "C"
  3133.         items = "1 Degree"$0D"5 Degrees"$0D"10 Degrees"$0D"15 Degrees"
  3134.         values = "1"$0D"5"$0D"10"$0D"15"
  3135.       }
  3136.       bias: =
  3137.       {
  3138.         txt = "&"
  3139.         hint = "Bullet distribution should be..."
  3140.         typ = "C"
  3141.         items = "Evenly distributed"$0D"Biased towards the outside"
  3142.         values = "1"$0D"-1"
  3143.       }
  3144.       collisions: =
  3145.       {
  3146.         txt = "&"
  3147.         hint = "Collision detection"
  3148.         typ = "C"
  3149.         items = "None. Cheap for performance."$0D"Normal collision detection."
  3150.         values = "0"$0D"1"
  3151.       }
  3152.       shootsound: =
  3153.       {
  3154.         txt = "&"
  3155.         hint = "Shoot Sound"
  3156.         typ = "C"
  3157.         items = "AR2"$0D"SMG1"
  3158.         values = "Weapon_AR2.NPC_Single"$0D"Weapon_SMG1.NPC_Single"
  3159.       }
  3160.       tracertype: =
  3161.       {
  3162.         txt = "&"
  3163.         hint = "Tracer"
  3164.         typ = "C"
  3165.         items = "Default"$0D"AR2"
  3166.         values = $0D"AR2TRACER"
  3167.       }
  3168.     }
  3169.     env_headcrabcanister:form =
  3170.     {
  3171.       t_Parentname = !
  3172.       t_Angles = !
  3173.       t_Targetname = !
  3174.       spawnflags: =
  3175.       {
  3176.         txt = "&"
  3177.         typ = "X1"
  3178.         cap = "No Impact Sound"
  3179.       }
  3180.       spawnflags: =
  3181.       {
  3182.         txt = "&"
  3183.         typ = "X2"
  3184.         cap = "No Launch Sound"
  3185.       }
  3186.       spawnflags: =
  3187.       {
  3188.         txt = "&"
  3189.         typ = "X4096"
  3190.         cap = "Start Impacted"
  3191.       }
  3192.       spawnflags: =
  3193.       {
  3194.         txt = "&"
  3195.         typ = "X8192"
  3196.         cap = "Land at initial position"
  3197.       }
  3198.       spawnflags: =
  3199.       {
  3200.         txt = "&"
  3201.         typ = "X16384"
  3202.         cap = "Wait for input to open"
  3203.       }
  3204.       spawnflags: =
  3205.       {
  3206.         txt = "&"
  3207.         typ = "X32768"
  3208.         cap = "Wait for input to spawn headcrabs"
  3209.       }
  3210.       spawnflags: =
  3211.       {
  3212.         txt = "&"
  3213.         typ = "X65536"
  3214.         cap = "No smoke"
  3215.       }
  3216.       spawnflags: =
  3217.       {
  3218.         txt = "&"
  3219.         typ = "X131072"
  3220.         cap = "No shake"
  3221.       }
  3222.       spawnflags: =
  3223.       {
  3224.         txt = "&"
  3225.         typ = "X262144"
  3226.         cap = "Remove on impact"
  3227.       }
  3228.       spawnflags: =
  3229.       {
  3230.         txt = "&"
  3231.         typ = "X524288"
  3232.         cap = "No impact effects"
  3233.       }
  3234.       HeadcrabType: =
  3235.       {
  3236.         txt = "&"
  3237.         hint = "Which headcrab to spawn?"
  3238.         typ = "C"
  3239.         items = "Normal headcrabs"$0D"Fast Headcrabs"$0D"Poison Headcrabs"
  3240.         values = "0"$0D"1"$0D"2"
  3241.       }
  3242.       HeadcrabCount: =
  3243.       {
  3244.         txt = "&"
  3245.         hint = "Headcrab count"
  3246.       }
  3247.       FlightSpeed: =
  3248.       {
  3249.         txt = "&"
  3250.         hint = "Flight Speed"
  3251.       }
  3252.       FlightTime: =
  3253.       {
  3254.         txt = "&"
  3255.         hint = "Flight Time"
  3256.       }
  3257.       StartingHeight: =
  3258.       {
  3259.         txt = "&"
  3260.         hint = "Starting Height"
  3261.       }
  3262.       MinSkyboxRefireTime: =
  3263.       {
  3264.         txt = "&"
  3265.         hint = "Min Refire Time"
  3266.       }
  3267.       MaxSkyboxRefireTime: =
  3268.       {
  3269.         txt = "&"
  3270.         hint = "Max Refire Time"
  3271.       }
  3272.       SkyboxCannisterCount: =
  3273.       {
  3274.         txt = "&"
  3275.         hint = "Cannister count"
  3276.       }
  3277.       Damage: =
  3278.       {
  3279.         txt = "&"
  3280.         hint = "Impact damage"
  3281.       }
  3282.       DamageRadius: =
  3283.       {
  3284.         txt = "&"
  3285.         hint = "Impact damage radius"
  3286.       }
  3287.       SmokeLifetime: =
  3288.       {
  3289.         txt = "&"
  3290.         hint = "Smoke Duration"
  3291.       }
  3292.       input#FireCanister: =
  3293.       {
  3294.         txt = "&"
  3295.         hint = "Fire the canister"
  3296.       }
  3297.       input#OpenCanister: =
  3298.       {
  3299.         txt = "&"
  3300.         hint = "Opens the canister (must be called after the OnImpacted output"
  3301.          " is fired)"
  3302.       }
  3303.       input#SpawnHeadcrabs: =
  3304.       {
  3305.         txt = "&"
  3306.         hint = "Spawns headcrabs (must be called after the OnImpacted output i"
  3307.          "s fired and after OpenCanister is triggered, if the Wait for Input t"
  3308.          "o open spawnflag is checked.)"
  3309.       }
  3310.       input#StopSmoke: =
  3311.       {
  3312.         txt = "&"
  3313.         hint = "Stops the smoke if it's on"
  3314.       }
  3315.       output#OnLaunched: =
  3316.       {
  3317.         txt = "&"
  3318.         hint = "Fired when the canister is launched"
  3319.       }
  3320.       output#OnImpacted: =
  3321.       {
  3322.         txt = "&"
  3323.         hint = "Fires when canister hits the ground"
  3324.       }
  3325.       output#OnOpened: =
  3326.       {
  3327.         txt = "&"
  3328.         hint = "Fires when canister has finished opening"
  3329.       }
  3330.     }
  3331.     npc_vortigaunt:form =
  3332.     {
  3333.       t_BaseNPC = !
  3334.       t_modelselect = !
  3335.       ArmorRechargeEnabled: =
  3336.       {
  3337.         txt = "&"
  3338.         hint = "Allow Armor Recharging"
  3339.         typ = "C"
  3340.         items = "No"$0D"Yes"
  3341.         values = "0"$0D"1"
  3342.       }
  3343.       input#EnableArmorRecharge: =
  3344.       {
  3345.         txt = "&"
  3346.         hint = "Allow armor recharging on players"
  3347.       }
  3348.       input#DisableArmorRecharge: =
  3349.       {
  3350.         txt = "&"
  3351.         hint = "Do not allow armor recharging on players"
  3352.       }
  3353.       input#ExtractBugbait: =
  3354.       {
  3355.         txt = "&"
  3356.         hint = "Causes the vortigaunt to extract bugbait from the named target"
  3357.          " passed in."
  3358.       }
  3359.       input#ChargeTarget: =
  3360.       {
  3361.         txt = "&"
  3362.         hint = "Force the vortigaunt to charge the named target."
  3363.       }
  3364.       output#OnFinishedExtractingBugbait: =
  3365.       {
  3366.         txt = "&"
  3367.         hint = "Fires when the vortigaunt's finished extracting bugbait from a"
  3368.          " target."
  3369.       }
  3370.       output#OnFinishedExtractingTauCannon: =
  3371.       {
  3372.         txt = "&"
  3373.         hint = "Fires when the vortigaunt's finished extracting the tau cannon"
  3374.          " from the jeep."
  3375.       }
  3376.       output#OnFinishedChargingTarget: =
  3377.       {
  3378.         txt = "&"
  3379.         hint = "Fires when the vortigaunt has finished charging a target."
  3380.       }
  3381.       output#OnPlayerUse: =
  3382.       {
  3383.         txt = "&"
  3384.         hint = "Fires when a player +USEs the vortigaunt."
  3385.       }
  3386.     }
  3387.     npc_spotlight:form =
  3388.     {
  3389.       t_BaseNPC = !
  3390.       spawnflags: =
  3391.       {
  3392.         txt = "&"
  3393.         typ = "X65536"
  3394.         cap = "Start Track On"
  3395.       }
  3396.       spawnflags: =
  3397.       {
  3398.         txt = "&"
  3399.         typ = "X131072"
  3400.         cap = "Start Light On"
  3401.       }
  3402.       spawnflags: =
  3403.       {
  3404.         txt = "&"
  3405.         typ = "X262144"
  3406.         cap = "No Dynamic Light"
  3407.       }
  3408.       spawnflags: =
  3409.       {
  3410.         txt = "&"
  3411.         typ = "X524288"
  3412.         cap = "Never Move"
  3413.       }
  3414.       health: =
  3415.       {
  3416.         txt = "&"
  3417.         hint = "Health"
  3418.       }
  3419.       YawRange: =
  3420.       {
  3421.         txt = "&"
  3422.         hint = "YawRange"
  3423.       }
  3424.       PitchMin: =
  3425.       {
  3426.         txt = "&"
  3427.         hint = "PitchMin"
  3428.       }
  3429.       PitchMax: =
  3430.       {
  3431.         txt = "&"
  3432.         hint = "PitchMax"
  3433.       }
  3434.       IdleSpeed: =
  3435.       {
  3436.         txt = "&"
  3437.         hint = "IdleSpeed"
  3438.       }
  3439.       AlertSpeed: =
  3440.       {
  3441.         txt = "&"
  3442.         hint = "AlertSpeed"
  3443.       }
  3444.       spotlightlength: =
  3445.       {
  3446.         txt = "&"
  3447.         hint = "SpotlightLength"
  3448.       }
  3449.       spotlightwidth: =
  3450.       {
  3451.         txt = "&"
  3452.         hint = "SpotlightWidth"
  3453.       }
  3454.       rendercolor: =
  3455.       {
  3456.         txt = "&"
  3457.         hint = "Color (R G B)"
  3458.       }
  3459.       input#LightOn: =
  3460.       {
  3461.         txt = "&"
  3462.         hint = "LightOn"
  3463.       }
  3464.       input#LightOff: =
  3465.       {
  3466.         txt = "&"
  3467.         hint = "LightOff"
  3468.       }
  3469.       input#TrackOn: =
  3470.       {
  3471.         txt = "&"
  3472.         hint = "TrackOn"
  3473.       }
  3474.       input#TrackOff: =
  3475.       {
  3476.         txt = "&"
  3477.         hint = "TrackOff"
  3478.       }
  3479.       output#OnAlert: =
  3480.       {
  3481.         txt = "&"
  3482.         hint = "Fires when the spotlight alerted by sound"
  3483.       }
  3484.       output#DetectedEnemy: =
  3485.       {
  3486.         txt = "&"
  3487.         hint = "Outputs enemy entity when spotlight finds and starts tracking "
  3488.          "enemy"
  3489.       }
  3490.       output#LostEnemy: =
  3491.       {
  3492.         txt = "&"
  3493.         hint = "Outputs enemy entity when spotlight loses enemy that it's trac"
  3494.          "king, if enemy still exists"
  3495.       }
  3496.       output#SquadDetectedEnemy: =
  3497.       {
  3498.         txt = "&"
  3499.         hint = "Outputs enemy entity when squad finds and starts tracking enem"
  3500.          "y"
  3501.       }
  3502.       output#SquadLostEnemy: =
  3503.       {
  3504.         txt = "&"
  3505.         hint = "Outputs enemy entity when squad loses enemy that it's tracking"
  3506.          ", if entity still exists"
  3507.       }
  3508.       output#LightPosition: =
  3509.       {
  3510.         txt = "&"
  3511.         hint = "Position of the end of the spotlight beam"
  3512.       }
  3513.     }
  3514.     npc_strider:form =
  3515.     {
  3516.       t_BaseNPC = !
  3517.       spawnflags: =
  3518.       {
  3519.         txt = "&"
  3520.         typ = "X65536"
  3521.         cap = "Can Stomp Player"
  3522.       }
  3523.       input#SetMinigunTime: =
  3524.       {
  3525.         txt = "&"
  3526.         hint = "Time to shoot at any set minigun target"
  3527.       }
  3528.       input#SetMinigunTarget: =
  3529.       {
  3530.         txt = "&"
  3531.         hint = "Strider will shoot minigun at this"
  3532.       }
  3533.       input#SetCannonTarget: =
  3534.       {
  3535.         txt = "&"
  3536.         hint = "Strider will shoot cannon at this"
  3537.       }
  3538.       input#FlickRagdoll: =
  3539.       {
  3540.         txt = "&"
  3541.         hint = "Strider will flick anyone he's skewered"
  3542.       }
  3543.       input#StartPatrol: =
  3544.       {
  3545.         txt = "&"
  3546.         hint = "Start patrolling back and forth along the current track."
  3547.       }
  3548.       input#StopPatrol: =
  3549.       {
  3550.         txt = "&"
  3551.         hint = "Stop patrolling back and forth along the track. This will caus"
  3552.          "e the helicopter to come to rest at the track which he's currently f"
  3553.          "lying toward."
  3554.       }
  3555.       input#ChooseFarthestPathPoint: =
  3556.       {
  3557.         txt = "&"
  3558.         hint = "When tracking an enemy, choose the point on the path furthest "
  3559.          "from the enemy, but still in firing range"
  3560.       }
  3561.       input#ChooseNearestPathPoint: =
  3562.       {
  3563.         txt = "&"
  3564.         hint = "When tracking an enemy, choose the point on the path nearest f"
  3565.          "rom the enemy"
  3566.       }
  3567.       input#Crouch: =
  3568.       {
  3569.         txt = "&"
  3570.         hint = "Crouch down"
  3571.       }
  3572.       input#Stand: =
  3573.       {
  3574.         txt = "&"
  3575.         hint = "Stand up from crouch"
  3576.       }
  3577.       input#DisableCrouchWalk: =
  3578.       {
  3579.         txt = "&"
  3580.       }
  3581.       input#DisableCrouchWalk: =
  3582.       {
  3583.         txt = "&"
  3584.       }
  3585.       EnableCrouchWalk: =
  3586.       {
  3587.         txt = "&"
  3588.       }
  3589.       EnableCrouchWalk: =
  3590.       {
  3591.         txt = "&"
  3592.       }
  3593.       SetTargetPath: =
  3594.       {
  3595.         txt = "&"
  3596.         hint = "Set a path for the strider to patrol. The strider will first m"
  3597.          "ove to the closest point on the path"
  3598.       }
  3599.       input#ClearTargetPath: =
  3600.       {
  3601.         txt = "&"
  3602.         hint = "Clear the strider patrol path"
  3603.       }
  3604.       disablephysics: =
  3605.       {
  3606.         txt = "&"
  3607.         hint = "Disable physics (reduce CPU)"
  3608.         typ = "C"
  3609.         items = "No"$0D"Yes"
  3610.         values = "0"$0D"1"
  3611.       }
  3612.     }
  3613.     npc_barnacle:form =
  3614.     {
  3615.       t_BaseNPC = !
  3616.       spawnflags: =
  3617.       {
  3618.         txt = "&"
  3619.         typ = "X65536"
  3620.         cap = "Cheap death"
  3621.       }
  3622.       RestDist: =
  3623.       {
  3624.         txt = "&"
  3625.         hint = "Rest Distance"
  3626.       }
  3627.     }
  3628.     npc_combinegunship:form =
  3629.     {
  3630.       t_BaseHelicopter = !
  3631.       input#OmniscientOn: =
  3632.       {
  3633.         txt = "&"
  3634.         hint = "Gunship knows target's location even when target is out of sig"
  3635.          "ht or behind cover"
  3636.       }
  3637.       input#OmniscientOff: =
  3638.       {
  3639.         txt = "&"
  3640.         hint = "Gunship relies on normal sight functions to locate target"
  3641.       }
  3642.       input#BlindfireOn: =
  3643.       {
  3644.         txt = "&"
  3645.         hint = "Gunship will fire at an unseen target, attempting to punch thr"
  3646.          "ough to them"
  3647.       }
  3648.       input#BlindfireOff: =
  3649.       {
  3650.         txt = "&"
  3651.         hint = "Gunship only fires at viusible target"
  3652.       }
  3653.       input#SetPenetrationDepth: =
  3654.       {
  3655.         txt = "&"
  3656.         hint = "Set penetration depth of bullets"
  3657.       }
  3658.       input#SetDockingBBox: =
  3659.       {
  3660.         txt = "&"
  3661.         hint = "Shrink Bounding Box"
  3662.       }
  3663.       input#SetNormalBBox: =
  3664.       {
  3665.         txt = "&"
  3666.         hint = "Set Bounding Box to normal size"
  3667.       }
  3668.       input#EnableGroundAttack: =
  3669.       {
  3670.         txt = "&"
  3671.         hint = "Allow the gunship to use its ground attack"
  3672.       }
  3673.       input#DisableGroundAttack: =
  3674.       {
  3675.         txt = "&"
  3676.         hint = "Don't allow the gunship to use its ground attack"
  3677.       }
  3678.       input#DoGroundAttack: =
  3679.       {
  3680.         txt = "&"
  3681.         hint = "Causes the gunship to execute its ground attack"
  3682.       }
  3683.       input#BecomeInvulnerable: =
  3684.       {
  3685.         txt = "&"
  3686.         hint = "Stops the gunship from taking damage, but still makes sounds e"
  3687.          "ffects"
  3688.       }
  3689.       input#BecomeVulnerable: =
  3690.       {
  3691.         txt = "&"
  3692.         hint = "Makes the gunship act normally to damage"
  3693.       }
  3694.       input#EnableRotorSound: =
  3695.       {
  3696.         txt = "&"
  3697.         hint = "Turns on rotor sounds"
  3698.       }
  3699.       input#DisableRotorSound: =
  3700.       {
  3701.         txt = "&"
  3702.         hint = "Turns off rotor sounds"
  3703.       }
  3704.       output#OnFireCannon: =
  3705.       {
  3706.         txt = "&"
  3707.         hint = "Fires when the gunship fires a cannon round"
  3708.       }
  3709.       output#OnFirstDamage: =
  3710.       {
  3711.         txt = "&"
  3712.         hint = "Fired when the first damage is done to the gunship."
  3713.       }
  3714.       output#OnSecondDamage: =
  3715.       {
  3716.         txt = "&"
  3717.         hint = "Fired when the second damage is done to the gunship."
  3718.       }
  3719.       output#OnThirdDamage: =
  3720.       {
  3721.         txt = "&"
  3722.         hint = "Fired when the third damage is done to the gunship."
  3723.       }
  3724.       output#OnFourthDamage: =
  3725.       {
  3726.         txt = "&"
  3727.         hint = "Fired when the fourth damage is done to the gunship."
  3728.       }
  3729.       spawnflags: =
  3730.       {
  3731.         txt = "&"
  3732.         typ = "X4096"
  3733.         cap = "No ground attack"
  3734.       }
  3735.     }
  3736.     info_target_gunshipcrash:form =
  3737.     {
  3738.       t_Targetname = !
  3739.       t_Parentname = !
  3740.       input#Enable: =
  3741.       {
  3742.         txt = "&"
  3743.         hint = "Enable the crash target."
  3744.       }
  3745.       input#Disable: =
  3746.       {
  3747.         txt = "&"
  3748.         hint = "Disable the crash target."
  3749.       }
  3750.     }
  3751.     npc_combinedropship:form =
  3752.     {
  3753.       t_BaseHelicopter = !
  3754.       spawnflags: =
  3755.       {
  3756.         txt = "&"
  3757.         typ = "X32768"
  3758.         cap = "Wait for input before dropoff"
  3759.       }
  3760.       LandTarget: =
  3761.       {
  3762.         txt = "&"
  3763.         hint = "Land target name"
  3764.       }
  3765.       GunRange: =
  3766.       {
  3767.         txt = "&"
  3768.         hint = "Crate Gun Range"
  3769.       }
  3770.       NPCTemplate: =
  3771.       {
  3772.         txt = "&"
  3773.         hint = "Name of Template NPC 1"
  3774.       }
  3775.       NPCTemplate2: =
  3776.       {
  3777.         txt = "&"
  3778.         hint = "Name of Template NPC 2"
  3779.       }
  3780.       NPCTemplate3: =
  3781.       {
  3782.         txt = "&"
  3783.         hint = "Name of Template NPC 3"
  3784.       }
  3785.       NPCTemplate4: =
  3786.       {
  3787.         txt = "&"
  3788.         hint = "Name of Template NPC 4"
  3789.       }
  3790.       NPCTemplate5: =
  3791.       {
  3792.         txt = "&"
  3793.         hint = "Name of Template NPC 5"
  3794.       }
  3795.       NPCTemplate6: =
  3796.       {
  3797.         txt = "&"
  3798.         hint = "Name of Template NPC 6"
  3799.       }
  3800.       Dustoff1: =
  3801.       {
  3802.         txt = "&"
  3803.         hint = "Name of dustoff point for NPC 1"
  3804.       }
  3805.       Dustoff2: =
  3806.       {
  3807.         txt = "&"
  3808.         hint = "Name of dustoff point for NPC 2"
  3809.       }
  3810.       Dustoff3: =
  3811.       {
  3812.         txt = "&"
  3813.         hint = "Name of dustoff point for NPC 3"
  3814.       }
  3815.       Dustoff4: =
  3816.       {
  3817.         txt = "&"
  3818.         hint = "Name of dustoff point for NPC 4"
  3819.       }
  3820.       Dustoff5: =
  3821.       {
  3822.         txt = "&"
  3823.         hint = "Name of dustoff point for NPC 5"
  3824.       }
  3825.       Dustoff6: =
  3826.       {
  3827.         txt = "&"
  3828.         hint = "Name of dustoff point for NPC 6"
  3829.       }
  3830.       APCVehicleName: =
  3831.       {
  3832.         txt = "&"
  3833.         hint = "Name of the APC to drop"
  3834.       }
  3835.       Invulnerable: =
  3836.       {
  3837.         txt = "&"
  3838.         hint = "Invulnerable"
  3839.         typ = "C"
  3840.         items = "No"$0D"Yes"
  3841.         values = "0"$0D"1"
  3842.       }
  3843.       CrateType: =
  3844.       {
  3845.         txt = "&"
  3846.         hint = "Crate Type"
  3847.         typ = "C"
  3848.         items = "Jeep (No crate)"$0D"APC (No crate)"$0D"Strider (No crate)"$0D
  3849.          "Roller Hopper"$0D"Soldier Crate"$0D"None"
  3850.         values = "-3"$0D"-2"$0D"-1"$0D"0"$0D"1"$0D"2"
  3851.       }
  3852.       input#LandLeaveCrate: =
  3853.       {
  3854.         txt = "&"
  3855.         hint = "Land, drop soldiers, and leave the crate behind. Specify the n"
  3856.          "umber of troops to drop off in the parameter."
  3857.       }
  3858.       input#LandTakeCrate: =
  3859.       {
  3860.         txt = "&"
  3861.         hint = "Land, drop soldiers, but don't leave the crate behind. Specify"
  3862.          " the number of troops to drop off in the parameter."
  3863.       }
  3864.       input#DropMines: =
  3865.       {
  3866.         txt = "&"
  3867.         hint = "Drop Rollermines. Specify the number of mines to drop in the p"
  3868.          "arameter."
  3869.       }
  3870.       input#DropStrider: =
  3871.       {
  3872.         txt = "&"
  3873.         hint = "Drop the Strider you're carrying. Now."
  3874.       }
  3875.       input#DropAPC: =
  3876.       {
  3877.         txt = "&"
  3878.         hint = "Drop the APC you're carrying. Now."
  3879.       }
  3880.       input#Pickup: =
  3881.       {
  3882.         txt = "&"
  3883.         hint = "Pickup an entity."
  3884.       }
  3885.       input#SetLandTarget: =
  3886.       {
  3887.         txt = "&"
  3888.         hint = "Set my land target name."
  3889.       }
  3890.       input#SetGunRange: =
  3891.       {
  3892.         txt = "&"
  3893.         hint = "Set my crate gun's range."
  3894.       }
  3895.       input#EnableRotorSound: =
  3896.       {
  3897.         txt = "&"
  3898.         hint = "Turns on rotor sounds"
  3899.       }
  3900.       input#DisableRotorSound: =
  3901.       {
  3902.         txt = "&"
  3903.         hint = "Turns off rotor sounds"
  3904.       }
  3905.       input#StopWaitingForDropoff: =
  3906.       {
  3907.         txt = "&"
  3908.         hint = "Stop waiting for the dropoff. Dropoff as soon as possible."
  3909.       }
  3910.       output#OnFinishedDropoff: =
  3911.       {
  3912.         txt = "&"
  3913.         hint = "Fires when the dropship has finished a dropoff."
  3914.       }
  3915.       output#OnFinishedPickup: =
  3916.       {
  3917.         txt = "&"
  3918.         hint = "Fires when the dropship has finished a pickup."
  3919.       }
  3920.       output#OnCrateShotDownBeforeDropoff: =
  3921.       {
  3922.         txt = "&"
  3923.         hint = "Fires when the container was shot down before it dropped off s"
  3924.          "oldiers. The parameter contains the number of soldiers that weren't "
  3925.          "successfully dropped off."
  3926.       }
  3927.       output#OnCrateShotDownAfterDropoff: =
  3928.       {
  3929.         txt = "&"
  3930.         hint = "Fires when the container was shot down after it dropped off so"
  3931.          "ldiers."
  3932.       }
  3933.     }
  3934.     npc_helicopter:form =
  3935.     {
  3936.       t_BaseHelicopter = !
  3937.       spawnflags: =
  3938.       {
  3939.         txt = "&"
  3940.         typ = "X65536"
  3941.         cap = "Loud rotor wash sound"
  3942.       }
  3943.       spawnflags: =
  3944.       {
  3945.         txt = "&"
  3946.         typ = "X131072"
  3947.         cap = "Electrical drone"
  3948.       }
  3949.       spawnflags: =
  3950.       {
  3951.         txt = "&"
  3952.         typ = "X262144"
  3953.         cap = "Helicopter lights"
  3954.       }
  3955.       spawnflags: =
  3956.       {
  3957.         txt = "&"
  3958.         typ = "X524288"
  3959.         cap = "Ignore avoid spheres+boxes"
  3960.       }
  3961.       spawnflags: =
  3962.       {
  3963.         txt = "&"
  3964.         typ = "X1048576"
  3965.         cap = "More aggressive attacks"
  3966.       }
  3967.       InitialSpeed: =
  3968.       {
  3969.         txt = "&"
  3970.         hint = "Initial Speed"
  3971.       }
  3972.       GracePeriod: =
  3973.       {
  3974.         txt = "&"
  3975.         hint = "Grace Period"
  3976.       }
  3977.       PatrolSpeed: =
  3978.       {
  3979.         txt = "&"
  3980.         hint = "Patrol Speed"
  3981.       }
  3982.       input#GunOn: =
  3983.       {
  3984.         txt = "&"
  3985.         hint = "GunOn"
  3986.       }
  3987.       input#GunOff: =
  3988.       {
  3989.         txt = "&"
  3990.         hint = "GunOff"
  3991.       }
  3992.       input#MissileOn: =
  3993.       {
  3994.         txt = "&"
  3995.         hint = "MissileOn"
  3996.       }
  3997.       input#MissileOff: =
  3998.       {
  3999.         txt = "&"
  4000.         hint = "MissileOff"
  4001.       }
  4002.       input#EnableRotorWash: =
  4003.       {
  4004.         txt = "&"
  4005.         hint = "Turns on rotor wash effects"
  4006.       }
  4007.       input#DisableRotorWash: =
  4008.       {
  4009.         txt = "&"
  4010.         hint = "Turns off rotor wash effects"
  4011.       }
  4012.       input#EnableRotorSound: =
  4013.       {
  4014.         txt = "&"
  4015.         hint = "Turns on rotor sounds"
  4016.       }
  4017.       input#DisableRotorSound: =
  4018.       {
  4019.         txt = "&"
  4020.         hint = "Turns off rotor sounds"
  4021.       }
  4022.       input#StartBombingVehicle: =
  4023.       {
  4024.         txt = "&"
  4025.         hint = "Starts the chopper leading enemy vehicles and dropping bombs o"
  4026.          "n them."
  4027.       }
  4028.       input#StartTrailingVehicle: =
  4029.       {
  4030.         txt = "&"
  4031.         hint = "Starts the chopper trailing enemy vehicles and shooting at the"
  4032.          "m."
  4033.       }
  4034.       input#StartDefaultBehavior: =
  4035.       {
  4036.         txt = "&"
  4037.         hint = "Starts the chopper in the mode where he always stops at nav po"
  4038.          "ints instead of stopping anywhere in between nav points."
  4039.       }
  4040.       input#StartAlwaysLeadingVehicle: =
  4041.       {
  4042.         txt = "&"
  4043.         hint = "Starts the chopper *always* leading enemy vehicles (regardless"
  4044.          " of how they are moving w/respect to the path) and dropping bombs on"
  4045.          " them. This mode is different from StartBombingVehicle in that it ne"
  4046.          "ver uses the machine gun."
  4047.       }
  4048.       input#StartSprinkleBehavior: =
  4049.       {
  4050.         txt = "&"
  4051.         hint = "Starts the chopper dropping bombs randomly + shooting at the p"
  4052.          "layer."
  4053.       }
  4054.       input#StartBullrushBehavior: =
  4055.       {
  4056.         txt = "&"
  4057.         hint = "Starts the chopper bullrushing the player."
  4058.       }
  4059.       input#SetHealthFraction: =
  4060.       {
  4061.         txt = "&"
  4062.         hint = "Sets the chopper health as a percentage of max health"
  4063.       }
  4064.       input#EnableDeadlyShooting: =
  4065.       {
  4066.         txt = "&"
  4067.         hint = "Starts the chopper being deadly to on-foot players"
  4068.       }
  4069.       input#DisableDeadlyShooting: =
  4070.       {
  4071.         txt = "&"
  4072.         hint = "Stops the chopper being deadly to on-foot players"
  4073.       }
  4074.       input#StartNormalShooting: =
  4075.       {
  4076.         txt = "&"
  4077.         hint = "The chopper will fire in short bursts. Good for on-foot experi"
  4078.          "ences"
  4079.       }
  4080.       input#StartLongCycleShooting: =
  4081.       {
  4082.         txt = "&"
  4083.         hint = "The chopper fires in long bursts"
  4084.       }
  4085.       input#StartContinuousShooting: =
  4086.       {
  4087.         txt = "&"
  4088.         hint = "The chopper fires continuously."
  4089.       }
  4090.       input#ResetIdleTime: =
  4091.       {
  4092.         txt = "&"
  4093.         hint = "Allows the helicopter to fire immediately if he's not in the m"
  4094.          "iddle of charging or firing"
  4095.       }
  4096.       input#SetAngles: =
  4097.       {
  4098.         txt = "&"
  4099.         hint = "Instantly snaps the orientation of the helicopter (Pitch Yaw R"
  4100.          "oll)"
  4101.       }
  4102.       input#DropBomb: =
  4103.       {
  4104.         txt = "&"
  4105.         hint = "Immediately drops a bomb based on normal bomb dropping rules"
  4106.       }
  4107.       input#DropBombStraightDown: =
  4108.       {
  4109.         txt = "&"
  4110.         hint = "Immediately drops a bomb directly downwards"
  4111.       }
  4112.       input#DropBombAtTarget: =
  4113.       {
  4114.         txt = "&"
  4115.         hint = "Immediately drops a bomb directly at the target destination, b"
  4116.          "ut only if the player isn't right there"
  4117.       }
  4118.       input#DropBombAtTargetAlways: =
  4119.       {
  4120.         txt = "&"
  4121.         hint = "Immediately drops a bomb directly at the target destination, n"
  4122.          "o matter whether it's fair or not."
  4123.       }
  4124.       input#DropBombDelay: =
  4125.       {
  4126.         txt = "&"
  4127.         hint = "Add a delay before the next bomb is dropped"
  4128.       }
  4129.       input#BecomeIndestructible: =
  4130.       {
  4131.         txt = "&"
  4132.         hint = "Makes the helicopter take no more damage"
  4133.       }
  4134.       input#DisablePathVisibilityTests: =
  4135.       {
  4136.         txt = "&"
  4137.         hint = "When the helicopter moves, he will not check for visibility fr"
  4138.          "om the path_track to the enemy to cull out path_tracks"
  4139.       }
  4140.       input#EnablePathVisibilityTests: =
  4141.       {
  4142.         txt = "&"
  4143.         hint = "When the helicopter moves, he will only move to path_tracks th"
  4144.          "at have line-of-sight to the enemy"
  4145.       }
  4146.       output#OnHealthChanged: =
  4147.       {
  4148.         txt = "&"
  4149.         hint = "Fires when the helicopter health changes. The integer is the p"
  4150.          "ercentage of health the chopper has from 0-100."
  4151.       }
  4152.     }
  4153.     npc_heli_avoidsphere:form =
  4154.     {
  4155.       t_Targetname = !
  4156.       t_Parentname = !
  4157.       spawnflags: =
  4158.       {
  4159.         txt = "&"
  4160.         typ = "X65536"
  4161.         cap = "Avoid the sphere above and below"
  4162.       }
  4163.       radius: =
  4164.       {
  4165.         txt = "&"
  4166.         hint = "Radius"
  4167.       }
  4168.     }
  4169.     npc_heli_avoidbox:form =
  4170.     {
  4171.       t_Origin = !
  4172.       t_Angles = !
  4173.       t_Parentname = !
  4174.       spawnflags: =
  4175.       {
  4176.         txt = "&"
  4177.         typ = "X65536"
  4178.         cap = "Avoid the box above and below"
  4179.       }
  4180.     }
  4181.     npc_heli_nobomb:form =
  4182.     {
  4183.       t_Origin = !
  4184.       t_Angles = !
  4185.       t_Parentname = !
  4186.     }
  4187.     npc_fastzombie:form =
  4188.     {
  4189.       t_BaseNPC = !
  4190.     }
  4191.     npc_zombie:form =
  4192.     {
  4193.       t_BaseNPC = !
  4194.     }
  4195.     npc_zombie_torso:form =
  4196.     {
  4197.       t_BaseNPC = !
  4198.     }
  4199.     npc_poisonzombie:form =
  4200.     {
  4201.       t_BaseNPC = !
  4202.       crabcount: =
  4203.       {
  4204.         txt = "&"
  4205.         hint = "Crabs in nest"
  4206.         typ = "C"
  4207.         items = "1 Crab"$0D"2 Crabs"$0D"3 Crabs"
  4208.         values = "1"$0D"2"$0D"3"
  4209.       }
  4210.     }
  4211.     npc_cscanner:form =
  4212.     {
  4213.       t_BaseNPC = !
  4214.       spawnflags: =
  4215.       {
  4216.         txt = "&"
  4217.         typ = "X65536"
  4218.         cap = "No Dynamic Light"
  4219.       }
  4220.       spawnflags: =
  4221.       {
  4222.         txt = "&"
  4223.         typ = "X131072"
  4224.         cap = "Strider Scout Scanner"
  4225.       }
  4226.       spotlightlength: =
  4227.       {
  4228.         txt = "&"
  4229.         hint = "SpotlightLength"
  4230.       }
  4231.       spotlightwidth: =
  4232.       {
  4233.         txt = "&"
  4234.         hint = "SpotlightWidth"
  4235.       }
  4236.       spotlightdisabled: =
  4237.       {
  4238.         txt = "&"
  4239.         hint = "SpotlightDisabled"
  4240.         typ = "C"
  4241.         items = "No"$0D"Yes"
  4242.         values = "0"$0D"1"
  4243.       }
  4244.       ShouldInspect: =
  4245.       {
  4246.         txt = "&"
  4247.         hint = "Should inspect"
  4248.         typ = "C"
  4249.         items = "No"$0D"Yes"
  4250.         values = "0"$0D"1"
  4251.       }
  4252.       OnlyInspectPlayers: =
  4253.       {
  4254.         txt = "&"
  4255.         hint = "Only Inspect Players"
  4256.         typ = "C"
  4257.         items = "No"$0D"Yes"
  4258.         values = "0"$0D"1"
  4259.       }
  4260.       NeverInspectPlayers: =
  4261.       {
  4262.         txt = "&"
  4263.         hint = "Never Inspect Players"
  4264.         typ = "C"
  4265.         items = "No"$0D"Yes"
  4266.         values = "0"$0D"1"
  4267.       }
  4268.       input#DisableSpotlight: =
  4269.       {
  4270.         txt = "&"
  4271.         hint = "DisableSpotlight"
  4272.       }
  4273.       input#InspectTargetPhoto: =
  4274.       {
  4275.         txt = "&"
  4276.         hint = "Tells the scanner to photograph the given entity, named by cla"
  4277.          "ssname or by target name. !activator or !player works here also."
  4278.       }
  4279.       input#InspectTargetSpotlight: =
  4280.       {
  4281.         txt = "&"
  4282.         hint = "Tells the scanner to spotlight the given entity, named by clas"
  4283.          "sname or by target name. !activator or !player works here also."
  4284.       }
  4285.       input#InputSetFlightSpeed: =
  4286.       {
  4287.         txt = "&"
  4288.         hint = "Sets the flight speed of the scanner"
  4289.       }
  4290.       input#InputShouldInspect: =
  4291.       {
  4292.         txt = "&"
  4293.         hint = "Set whether should inspect or not"
  4294.       }
  4295.       input#SetFollowTarget: =
  4296.       {
  4297.         txt = "&"
  4298.         hint = "Set target to follow until told otherwise"
  4299.       }
  4300.       input#ClearFollowTarget: =
  4301.       {
  4302.         txt = "&"
  4303.         hint = "Stop following our target"
  4304.       }
  4305.       input#SetDistanceOverride: =
  4306.       {
  4307.         txt = "&"
  4308.         hint = "Override the distance the scanner will attempt to keep between"
  4309.          " inspection targets and itself"
  4310.       }
  4311.       input#DeployMine: =
  4312.       {
  4313.         txt = "&"
  4314.         hint = "Drop landmine (if carrying one)"
  4315.       }
  4316.       input#EquipMine: =
  4317.       {
  4318.         txt = "&"
  4319.         hint = "Equip with landmine"
  4320.       }
  4321.       output#OnPhotographPlayer: =
  4322.       {
  4323.         txt = "&"
  4324.         hint = "Fired any time the scanner takes a picture of the player."
  4325.       }
  4326.       output#OnPhotographNPC: =
  4327.       {
  4328.         txt = "&"
  4329.         hint = "Fired any time the scanner takes a picture of an NPC."
  4330.       }
  4331.     }
  4332.     npc_manhack:form =
  4333.     {
  4334.       t_BaseNPC = !
  4335.       spawnflags: =
  4336.       {
  4337.         txt = "&"
  4338.         typ = "X65536"
  4339.         cap = "Start packed up (folded and engine off)"
  4340.       }
  4341.       spawnflags: =
  4342.       {
  4343.         txt = "&"
  4344.         typ = "X131072"
  4345.         cap = "Don't use any damage effects"
  4346.       }
  4347.       spawnflags: =
  4348.       {
  4349.         txt = "&"
  4350.         typ = "X262144"
  4351.         cap = "Use Air Nodes"
  4352.       }
  4353.       spawnflags: =
  4354.       {
  4355.         txt = "&"
  4356.         typ = "X1048576"
  4357.         cap = "No Danger Sounds"
  4358.       }
  4359.       input#DisableSwarm: =
  4360.       {
  4361.         txt = "&"
  4362.         hint = "Disable the manhack swarm behavior."
  4363.       }
  4364.       input#Unpack: =
  4365.       {
  4366.         txt = "&"
  4367.         hint = "Causes the manhack to stop being packed up."
  4368.       }
  4369.     }
  4370.     npc_mortarsynth:form =
  4371.     {
  4372.       t_BaseNPC = !
  4373.     }
  4374.     npc_metropolice:form =
  4375.     {
  4376.       t_BaseNPC = !
  4377.       t_RappelNPC = !
  4378.       additionalequipment: =
  4379.       {
  4380.         txt = "&"
  4381.         hint = "Weapons"
  4382.         typ = "C"
  4383.         items = "Pistol"$0D"SMG1"$0D"Stun Stick"$0D"Shotgun"$0D"Nothing"
  4384.         values = "weapon_pistol"$0D"weapon_smg1"$0D"weapon_stunstick"$0D"weapo"
  4385.          "n_shotgun"$0D"0"
  4386.       }
  4387.       manhacks: =
  4388.       {
  4389.         txt = "&"
  4390.         hint = "Number of Manhacks"
  4391.         typ = "C"
  4392.         items = "None"$0D"1"$0D"2"
  4393.         values = "0"$0D"1"$0D"2"
  4394.       }
  4395.       weapondrawn: =
  4396.       {
  4397.         txt = "&"
  4398.         hint = "Pistol starts drawn"
  4399.         typ = "C"
  4400.         items = "No"$0D"Yes"
  4401.         values = "0"$0D"1"
  4402.       }
  4403.       spawnflags: =
  4404.       {
  4405.         txt = "&"
  4406.         typ = "X131072"
  4407.         cap = "Simple cops"
  4408.       }
  4409.       spawnflags: =
  4410.       {
  4411.         txt = "&"
  4412.         typ = "X262144"
  4413.         cap = "Rappel (UNCHECK THIS IF IT IS CHECKED!)"
  4414.       }
  4415.       spawnflags: =
  4416.       {
  4417.         txt = "&"
  4418.         typ = "X524288"
  4419.         cap = "Always stitch"
  4420.       }
  4421.       spawnflags: =
  4422.       {
  4423.         txt = "&"
  4424.         typ = "X1048576"
  4425.         cap = "No chatter"
  4426.       }
  4427.       spawnflags: =
  4428.       {
  4429.         txt = "&"
  4430.         typ = "X2097152"
  4431.         cap = "Arrest enemies"
  4432.       }
  4433.       spawnflags: =
  4434.       {
  4435.         txt = "&"
  4436.         typ = "X4194304"
  4437.         cap = "No far stitching"
  4438.       }
  4439.       spawnflags: =
  4440.       {
  4441.         txt = "&"
  4442.         typ = "X8388608"
  4443.         cap = "Prevent manhack toss"
  4444.       }
  4445.       spawnflags: =
  4446.       {
  4447.         txt = "&"
  4448.         typ = "X16777216"
  4449.         cap = "Allowed to respond to thrown objects"
  4450.       }
  4451.       spawnflags: =
  4452.       {
  4453.         txt = "&"
  4454.         typ = "X33554432"
  4455.         cap = "Mid-range attacks (halfway between normal + long-range)"
  4456.       }
  4457.       input#EnableManhackToss: =
  4458.       {
  4459.         txt = "&"
  4460.         hint = "Enables manhack toss (which had been disabled by the spawnflag"
  4461.          ")"
  4462.       }
  4463.       input#SetPoliceGoal: =
  4464.       {
  4465.         txt = "&"
  4466.         hint = "Causes the NPC to police the area defined by an ai_goal_police"
  4467.       }
  4468.       input#ActivateBaton: =
  4469.       {
  4470.         txt = "&"
  4471.         hint = "Set the baton to active"
  4472.       }
  4473.       output#OnStunnedPlayer: =
  4474.       {
  4475.         txt = "&"
  4476.         hint = "Fires when the player is hit by a stunstick by this NPC."
  4477.       }
  4478.     }
  4479.     npc_crabsynth:form =
  4480.     {
  4481.       t_BaseNPC = !
  4482.     }
  4483.     npc_monk:form =
  4484.     {
  4485.       t_TalkNPC = !
  4486.       additionalequipment: =
  4487.       {
  4488.         txt = "&"
  4489.         hint = "Weapons"
  4490.         typ = "C"
  4491.         items = "Annabelle"$0D"SMG1"$0D"AR2"$0D"Stun Stick"$0D"Crow Bar"$0D"Sh"
  4492.          "otgun"$0D"Beer Bottle"$0D"Beer Bottle2"$0D"RPG"$0D"Nothing"
  4493.         values = "weapon_annabelle"$0D"weapon_smg1"$0D"weapon_ar2"$0D"weapon_s"
  4494.          "tunstick"$0D"weapon_crowbar"$0D"weapon_shotgun"$0D"weapon_beerbottle"
  4495.          $0D"weapon_beerbottle2"$0D"weapon_rpg"$0D"0"
  4496.       }
  4497.       HasGun: =
  4498.       {
  4499.         txt = "&"
  4500.         hint = "Has Gun"
  4501.         typ = "C"
  4502.         items = "No"$0D"Yes"
  4503.         values = "0"$0D"1"
  4504.       }
  4505.       input#PerfectAccuracyOn: =
  4506.       {
  4507.         txt = "&"
  4508.         hint = "Make every shot at a zombie a headshot"
  4509.       }
  4510.       input#PerfectAccuracyOff: =
  4511.       {
  4512.         txt = "&"
  4513.         hint = "Return to normal accuracy"
  4514.       }
  4515.     }
  4516.     npc_alyx:form =
  4517.     {
  4518.       t_TalkNPC = !
  4519.       t_Parentname = !
  4520.       t_modelselect = !
  4521.       additionalequipment: =
  4522.       {
  4523.         txt = "&"
  4524.         hint = "Weapons"
  4525.         typ = "C"
  4526.         items = "Alyx Gun"$0D"Nothing"
  4527.         values = "weapon_alyxgun"$0D"0"
  4528.       }
  4529.     }
  4530.     npc_kleiner:form =
  4531.     {
  4532.       t_TalkNPC = !
  4533.       t_modelselect = !
  4534.     }
  4535.     npc_eli:form =
  4536.     {
  4537.       t_TalkNPC = !
  4538.       t_Parentname = !
  4539.       t_modelselect = !
  4540.     }
  4541.     npc_breen:form =
  4542.     {
  4543.       t_TalkNPC = !
  4544.       t_modelselect = !
  4545.       spawnflags: =
  4546.       {
  4547.         txt = "&"
  4548.         typ = "X65536"
  4549.         cap = "Ignore speech semaphore"
  4550.       }
  4551.     }
  4552.     npc_mossman:form =
  4553.     {
  4554.       t_TalkNPC = !
  4555.       t_modelselect = !
  4556.     }
  4557.     npc_gman:form =
  4558.     {
  4559.       t_TalkNPC = !
  4560.            t_modelselect = !
  4561.  
  4562.     }
  4563.     npc_dog:form =
  4564.     {
  4565.       t_BaseNPC = !
  4566.       input#SetPickupTarget: =
  4567.       {
  4568.         txt = "&"
  4569.         hint = "Sets the target entity for dog to pickup."
  4570.       }
  4571.       input#StartCatchThrowBehavior: =
  4572.       {
  4573.         txt = "&"
  4574.         hint = "Tells d0g to start playing with the player. You can pass in th"
  4575.          "e name of the object you want him to play with otherwise he'll find "
  4576.          "the closes phys_object."
  4577.       }
  4578.       input#StopCatchThrowBehavior: =
  4579.       {
  4580.         txt = "&"
  4581.         hint = "Stop the catch and throw behavior."
  4582.       }
  4583.       input#PlayerPickupObject: =
  4584.       {
  4585.         txt = "&"
  4586.         hint = "Tells d0g the physgun just picked up an object."
  4587.       }
  4588.       input#StartWaitAndCatch: =
  4589.       {
  4590.         txt = "&"
  4591.         hint = "Tells d0g to wait for the player to throw an object at him."
  4592.       }
  4593.       input#StopWaitAndCatch: =
  4594.       {
  4595.         txt = "&"
  4596.         hint = "Tells d0g to stop waiting for the player."
  4597.       }
  4598.       input#SetThrowArcModifier: =
  4599.       {
  4600.         txt = "&"
  4601.         hint = "Used to pass in a modifier for d0g's object flight arc."
  4602.       }
  4603.       input#SetThrowTarget: =
  4604.       {
  4605.         txt = "&"
  4606.         hint = "Set d0g's throw target (pass in !player if you want the player"
  4607.          ")"
  4608.       }
  4609.       output#OnDogThrow: =
  4610.       {
  4611.         txt = "&"
  4612.         hint = "Fires when dog throws an object."
  4613.       }
  4614.       output#OnDogPickup: =
  4615.       {
  4616.         txt = "&"
  4617.         hint = "Fires when dog picks up an object."
  4618.       }
  4619.       output#OnDogCatch: =
  4620.       {
  4621.         txt = "&"
  4622.         hint = "Fires when dog catches an object."
  4623.       }
  4624.     }
  4625.     monster_generic:form =
  4626.     {
  4627.       t_BaseNPC = !
  4628.       t_RenderFields = !
  4629.       t_Shadow = !
  4630.       spawnflags: =
  4631.       {
  4632.         txt = "&"
  4633.         typ = "X65536"
  4634.         cap = "Not solid"
  4635.       }
  4636.       model: =
  4637.       {
  4638.         txt = "&"
  4639.         hint = "Model"
  4640.         typ = "B"
  4641.         Cap = "models..."
  4642.         form = "t_models_hl2_form:form"
  4643.       }
  4644.       body: =
  4645.       {
  4646.         txt = "&"
  4647.         hint = "Body"
  4648.       }
  4649.     }
  4650.     generic_actor:form =
  4651.     {
  4652.       t_BaseNPC = !
  4653.       t_Parentname = !
  4654.       t_RenderFields = !
  4655.       t_Shadow = !
  4656.       model: =
  4657.       {
  4658.         txt = "&"
  4659.         hint = "Model"
  4660.         typ = "B"
  4661.         Cap = "models..."
  4662.         form = "t_models_hl2_form:form"
  4663.       }
  4664.       hull_name: =
  4665.       {
  4666.         txt = "&"
  4667.         hint = "Hull type"
  4668.         typ = "C"
  4669.         items = "Human"$0D"Wide"$0D"Tiny"$0D"Medium"$0D"Large"
  4670.         values = "HUMAN_HULL"$0D"WIDE_HUMAN_HULL"$0D"TINY_HULL"$0D"MEDIUM_HULL"
  4671.          $0D"LARGE_HULL"
  4672.       }
  4673.     }
  4674.     cycler_actor:form =
  4675.     {
  4676.       t_BaseNPC = !
  4677.       t_RenderFields = !
  4678.       t_Shadow = !
  4679.       model: =
  4680.       {
  4681.         txt = "&"
  4682.         hint = "Model"
  4683.         typ = "B"
  4684.         Cap = "models..."
  4685.         form = "t_models_hl2_form:form"
  4686.       }
  4687.       Sentence: =
  4688.       {
  4689.         txt = "&"
  4690.         hint = "Sentence Group"
  4691.       }
  4692.       input#Alpha: =
  4693.       {
  4694.         txt = "&"
  4695.         hint = "Set Alpha Value"
  4696.       }
  4697.     }
  4698.     npc_maker:form =
  4699.     {
  4700.       t_Angles = !
  4701.       t_BaseNPCMaker = !
  4702.       spawnflags: =
  4703.       {
  4704.         txt = "&"
  4705.         typ = "X16"
  4706.         cap = "Fade Corpse"
  4707.       }
  4708.       NPCType: =
  4709.       {
  4710.         txt = "&"
  4711.         hint = "Class name of spawned NPC"
  4712.         typ = "C"
  4713.                     items = "npc_alyx"
  4714.                     $0D"npc_antlion"
  4715.                     $0D"npc_antlionguard"
  4716.                     $0D"npc_apcdriver"     
  4717.                     $0D"npc_barnacle"     
  4718.                     $0D"npc_barney"     
  4719.                     $0D"npc_breen"     
  4720.                     $0D"npc_bullseye"     
  4721.                     $0D"npc_citizen"     
  4722.                     $0D"npc_combine_camera"   
  4723.                     $0D"npc_combine_s"     
  4724.                     $0D"npc_combinedropship"  
  4725.                     $0D"npc_combinegunship"   
  4726.                     $0D"npc_combinegunship"   
  4727.                     $0D"npc_cranedriver"     
  4728.                     $0D"npc_crow"     
  4729.                     $0D"npc_cscanner"     
  4730.                     $0D"npc_dog"     
  4731.                     $0D"npc_eli"     
  4732.                     $0D"npc_enemyfinder"     
  4733.                     $0D"npc_fastzombie"     
  4734.                     $0D"npc_gman"     
  4735.                     $0D"npc_headcrab"     
  4736.                     $0D"npc_headcrab_black"   
  4737.                     $0D"npc_headcrab_fast"    
  4738.                     $0D"npc_helicopter"     
  4739.                     $0D"npc_ichthyosaur"     
  4740.                     $0D"npc_kleiner"     
  4741.                     $0D"npc_manhack"     
  4742.                     $0D"npc_metropolice"     
  4743.                     $0D"npc_missiledefense"   
  4744.                     $0D"npc_monk"     
  4745.                     $0D"npc_mortarsynth"     
  4746.                     $0D"npc_mossman"     
  4747.                     $0D"npc_pigeon"     
  4748.                     $0D"npc_poisonzombie"     
  4749.                     $0D"npc_rollermine"     
  4750.                     $0D"npc_seagull"     
  4751.                     $0D"npc_sniper"     
  4752.                     $0D"npc_spotlight"     
  4753.                     $0D"npc_stalker"     
  4754.                     $0D"npc_strider"     
  4755.                     $0D"npc_vehicledriver"    
  4756.                     $0D"npc_vortigaunt"     
  4757.                     $0D"npc_zombie"     
  4758.                     $0D"npc_zombie_torso"
  4759.       }
  4760.       NPCTargetname: =
  4761.       {
  4762.         txt = "&"
  4763.         hint = "Childrens' Name"
  4764.       }
  4765.       NPCSquadname: =
  4766.       {
  4767.         txt = "&"
  4768.         hint = "Childrens' Squad Name"
  4769.       }
  4770.       NPCHintGroup: =
  4771.       {
  4772.         txt = "&"
  4773.         hint = "Childrens' Hint Group"
  4774.       }
  4775.       additionalequipment: =
  4776.       {
  4777.         txt = "&"
  4778.         hint = "Weapons"
  4779.         typ = "C"
  4780.         items = "Pistol"$0D"AR2"$0D"Shotgun"$0D"SMG1"$0D"Stun Stick"$0D"Grigor"
  4781.          "i's Shotgun"$0D"Nothing"
  4782.         values = "weapon_pistol"$0D"weapon_ar2"$0D"weapon_shotgun"$0D"weapon_s"
  4783.          "mg1"$0D"weapon_stunstick"$0D"weapon_annabelle"$0D"0"
  4784.       }
  4785.     }
  4786.     npc_antlion_template_maker:form =
  4787.     {
  4788.       bbox = '-8 -8 -8 8 8 8'
  4789.       t_Angles = !
  4790.       t_BaseNPCMaker = !
  4791.       spawnflags: =
  4792.       {
  4793.         txt = "&"
  4794.         typ = "X1024"
  4795.         cap = "Random spawn node"
  4796.       }
  4797.       spawnflags: =
  4798.       {
  4799.         txt = "&"
  4800.         typ = "X2048"
  4801.         cap = "Try to spawn close to the current target"
  4802.       }
  4803.       TemplateName: =
  4804.       {
  4805.         txt = "&"
  4806.         hint = "Name of template NPC"
  4807.       }
  4808.       spawngroup: =
  4809.       {
  4810.         txt = "&"
  4811.         hint = "Spawn on Hint Group"
  4812.       }
  4813.       spawnradius: =
  4814.       {
  4815.         txt = "&"
  4816.         hint = "Spawn radius"
  4817.       }
  4818.       spawntarget: =
  4819.       {
  4820.         txt = "&"
  4821.         hint = "Spawn target"
  4822.       }
  4823.       fighttarget: =
  4824.       {
  4825.         txt = "&"
  4826.         hint = "Fight target"
  4827.       }
  4828.       followtarget: =
  4829.       {
  4830.         txt = "&"
  4831.         hint = "Follow target"
  4832.       }
  4833.       vehicledistance: =
  4834.       {
  4835.         txt = "&"
  4836.         hint = "Vehicle Spawn Distance"
  4837.       }
  4838.       ignorebugbait: =
  4839.       {
  4840.         txt = "&"
  4841.         hint = "Ignore Bugbait"
  4842.         typ = "C"
  4843.         items = "No"$0D"Yes"
  4844.         values = "0"$0D"1"
  4845.       }
  4846.       pool_start: =
  4847.       {
  4848.         txt = "&"
  4849.         hint = "Initial antlions in the pool."
  4850.       }
  4851.       pool_max: =
  4852.       {
  4853.         txt = "&"
  4854.         hint = "Max antlions in the pool."
  4855.       }
  4856.       pool_regen_amount: =
  4857.       {
  4858.         txt = "&"
  4859.         hint = "Pool regen amount."
  4860.       }
  4861.       pool_regen_time: =
  4862.       {
  4863.         txt = "&"
  4864.         hint = "Pool regen time."
  4865.       }
  4866.       input#SetFightTarget: =
  4867.       {
  4868.         txt = "&"
  4869.         hint = "Sets the target entity for children to fight to."
  4870.       }
  4871.       input#ClearFightTarget: =
  4872.       {
  4873.         txt = "&"
  4874.         hint = "Clears the fight target goal for this spawner."
  4875.       }
  4876.       input#SetFollowTarget: =
  4877.       {
  4878.         txt = "&"
  4879.         hint = "Sets the target entity for children to follow."
  4880.       }
  4881.       input#ClearFollowTarget: =
  4882.       {
  4883.         txt = "&"
  4884.         hint = "Clears the follow target goal for this spawner."
  4885.       }
  4886.       input#SetSpawnRadius: =
  4887.       {
  4888.         txt = "&"
  4889.         hint = "Sets the Spawn Radius."
  4890.       }
  4891.       input#AddToPool: =
  4892.       {
  4893.         txt = "&"
  4894.         hint = "Add the number of antlions specified in the parameter to the p"
  4895.          "ool."
  4896.       }
  4897.       input#SetMaxPool: =
  4898.       {
  4899.         txt = "&"
  4900.         hint = "Set the maximum number of antlions allowed in the pool at any "
  4901.          "time. Setting it to 0 turns off the pool behavior."
  4902.       }
  4903.       input#SetPoolRegenAmount: =
  4904.       {
  4905.         txt = "&"
  4906.         hint = "Set the number of antlions added to the pool every time it reg"
  4907.          "enerates."
  4908.       }
  4909.       input#SetPoolRegenTime: =
  4910.       {
  4911.         txt = "&"
  4912.         hint = "Set the time interval between pool regeneration ticks."
  4913.       }
  4914.     }
  4915.     point_antlion_repellant:form =
  4916.     {
  4917.       t_Targetname = !
  4918.       repelradius: =
  4919.       {
  4920.         txt = "&"
  4921.         hint = "Repell radius"
  4922.       }
  4923.       input#Enable: =
  4924.       {
  4925.         txt = "&"
  4926.         hint = "Enable"
  4927.       }
  4928.       input#Disable: =
  4929.       {
  4930.         txt = "&"
  4931.         hint = "Disable"
  4932.       }
  4933.     }
  4934.     t_player_control:incl =
  4935.     {
  4936.       bbox = '-10 -10 -10 10 10 10'
  4937.       t_Targetname = !
  4938.       input#Activate: =
  4939.       {
  4940.         txt = "&"
  4941.         hint = "Turns on"
  4942.       }
  4943.       input#Deactivate: =
  4944.       {
  4945.         txt = "&"
  4946.         hint = "Turns off"
  4947.       }
  4948.       input#SetThrust: =
  4949.       {
  4950.         txt = "&"
  4951.         hint = "Set Thrust"
  4952.       }
  4953.       input#SetSideThrust: =
  4954.       {
  4955.         txt = "&"
  4956.         hint = "Set Side Thrust"
  4957.       }
  4958.     }
  4959.     t_BaseScripted:incl =
  4960.     {
  4961.       t_Targetname = !
  4962.       t_Parentname = !
  4963.       t_Angles = !
  4964.       m_iszEntity: =
  4965.       {
  4966.         txt = "&"
  4967.         hint = "Target NPC"
  4968.       }
  4969.       m_iszIdle: =
  4970.       {
  4971.         txt = "&"
  4972.         hint = "Pre Action Idle Animation"
  4973.       }
  4974.       m_iszPlay: =
  4975.       {
  4976.         txt = "&"
  4977.         hint = "Action Animation"
  4978.       }
  4979.       m_iszPostIdle: =
  4980.       {
  4981.         txt = "&"
  4982.         hint = "Post Action Idle Animation"
  4983.       }
  4984.       m_iszCustomMove: =
  4985.       {
  4986.         txt = "&"
  4987.         hint = "Custom Move Animation"
  4988.       }
  4989.       m_flRadius: =
  4990.       {
  4991.         txt = "&"
  4992.         hint = "Search Radius (0=everywhere)"
  4993.       }
  4994.       m_flRepeat: =
  4995.       {
  4996.         txt = "&"
  4997.         hint = "Repeat Rate ms"
  4998.       }
  4999.       m_fMoveTo: =
  5000.       {
  5001.         txt = "&"
  5002.         hint = "Move to Position"
  5003.         typ = "C"
  5004.         items = "No"$0D"Walk"$0D"Run"$0D"Custom movement"$0D"Instantaneous"$0D
  5005.          "No - Turn to Face"
  5006.         values = "0"$0D"1"$0D"2"$0D"3"$0D"4"$0D"5"
  5007.       }
  5008.       m_iszNextScript: =
  5009.       {
  5010.         txt = "&"
  5011.         hint = "Next Script"
  5012.       }
  5013.       input#BeginSequence: =
  5014.       {
  5015.         txt = "&"
  5016.         hint = "Summons an NPC to act out the scripted sequence."
  5017.       }
  5018.       input#MoveToPosition: =
  5019.       {
  5020.         txt = "&"
  5021.         hint = "Summons an NPC to the script location. They will play their sc"
  5022.          "ripted idle (or ACT_IDLE if none is specified) until BeginSequence i"
  5023.          "s triggered."
  5024.       }
  5025.       input#CancelSequence: =
  5026.       {
  5027.         txt = "&"
  5028.         hint = "Stops the scripted sequence. If fired after a sequence starts,"
  5029.          " this input will not take effect until the NPC finishes playing the "
  5030.          "scripted action animation."
  5031.       }
  5032.       output#OnBeginSequence: =
  5033.       {
  5034.         txt = "&"
  5035.         hint = "Fires when the action animation begins playing."
  5036.       }
  5037.       output#OnEndSequence: =
  5038.       {
  5039.         txt = "&"
  5040.         hint = "Fires when the action animation completes."
  5041.       }
  5042.       output#OnScriptEvent01: =
  5043.       {
  5044.         txt = "&"
  5045.         hint = "Fires when a 'trigger' anim event occurs while playing the scr"
  5046.          "ipt. Use { event 1003 framenum 1 } in the QC."
  5047.       }
  5048.       output#OnScriptEvent02: =
  5049.       {
  5050.         txt = "&"
  5051.         hint = "Fires when a 'trigger' anim event occurs while playing the scr"
  5052.          "ipt. Use { event 1003 framenum 2 } in the QC."
  5053.       }
  5054.       output#OnScriptEvent03: =
  5055.       {
  5056.         txt = "&"
  5057.         hint = "Fires when a 'trigger' anim event occurs while playing the scr"
  5058.          "ipt. Use { event 1003 framenum 3 } in the QC."
  5059.       }
  5060.       output#OnScriptEvent04: =
  5061.       {
  5062.         txt = "&"
  5063.         hint = "Fires when a 'trigger' anim event occurs while playing the scr"
  5064.          "ipt. Use { event 1003 framenum 4 } in the QC."
  5065.       }
  5066.       output#OnScriptEvent05: =
  5067.       {
  5068.         txt = "&"
  5069.         hint = "Fires when a 'trigger' anim event occurs while playing the scr"
  5070.          "ipt. Use { event 1003 framenum 5 } in the QC."
  5071.       }
  5072.       output#OnScriptEvent06: =
  5073.       {
  5074.         txt = "&"
  5075.         hint = "Fires when a 'trigger' anim event occurs while playing the scr"
  5076.          "ipt. Use { event 1003 framenum 6 } in the QC."
  5077.       }
  5078.       output#OnScriptEvent07: =
  5079.       {
  5080.         txt = "&"
  5081.         hint = "Fires when a 'trigger' anim event occurs while playing the scr"
  5082.          "ipt. Use { event 1003 framenum 7 } in the QC."
  5083.       }
  5084.       output#OnScriptEvent08: =
  5085.       {
  5086.         txt = "&"
  5087.         hint = "Fires when a 'trigger' anim event occurs while playing the scr"
  5088.          "ipt. Use { event 1003 framenum 8 } in the QC."
  5089.       }
  5090.     }
  5091.     scripted_sentence:form =
  5092.     {
  5093.       t_Targetname = !
  5094.       spawnflags: =
  5095.       {
  5096.         txt = "&"
  5097.         typ = "X1"
  5098.         cap = "Fire Once"
  5099.       }
  5100.       spawnflags: =
  5101.       {
  5102.         txt = "&"
  5103.         typ = "X2"
  5104.         cap = "Followers Only"
  5105.       }
  5106.       spawnflags: =
  5107.       {
  5108.         txt = "&"
  5109.         typ = "X4"
  5110.         cap = "Interrupt Speech"
  5111.       }
  5112.       spawnflags: =
  5113.       {
  5114.         txt = "&"
  5115.         typ = "X8"
  5116.         cap = "Concurrent"
  5117.       }
  5118.       spawnflags: =
  5119.       {
  5120.         txt = "&"
  5121.         typ = "X16"
  5122.         cap = "Speak to Activator"
  5123.       }
  5124.       sentence: =
  5125.       {
  5126.         txt = "&"
  5127.         hint = "Sentence Name"
  5128.       }
  5129.       entity: =
  5130.       {
  5131.         txt = "&"
  5132.         hint = "Speaker Type"
  5133.       }
  5134.       delay: =
  5135.       {
  5136.         txt = "&"
  5137.         hint = "Additional Sentence Time"
  5138.       }
  5139.       radius: =
  5140.       {
  5141.         txt = "&"
  5142.         hint = "Search Radius"
  5143.       }
  5144.       refire: =
  5145.       {
  5146.         txt = "&"
  5147.         hint = "Delay Before Refire"
  5148.       }
  5149.       listener: =
  5150.       {
  5151.         txt = "&"
  5152.         hint = "Listener Type"
  5153.       }
  5154.       volume: =
  5155.       {
  5156.         txt = "&"
  5157.         hint = "Volume 0-10"
  5158.       }
  5159.       attenuation: =
  5160.       {
  5161.         txt = "&"
  5162.         hint = "Sound Radius"
  5163.         typ = "C"
  5164.         items = "Small Radius"$0D"Medium Radius"$0D"Large  Radius"$0D"Play Eve"
  5165.          "rywhere"
  5166.         values = "0"$0D"1"$0D"2"$0D"3"
  5167.       }
  5168.       input#BeginSentence: =
  5169.       {
  5170.         txt = "&"
  5171.         hint = "Starts the scripted sentence."
  5172.       }
  5173.       output#OnBeginSentence: =
  5174.       {
  5175.         txt = "&"
  5176.         hint = "Fires when the sentence begins"
  5177.       }
  5178.       output#OnEndSentence: =
  5179.       {
  5180.         txt = "&"
  5181.         hint = "Fires when the sentence ends"
  5182.       }
  5183.     }
  5184.     scripted_target:form =
  5185.     {
  5186.       t_Targetname = !
  5187.       t_Parentname = !
  5188.       StartDisabled: =
  5189.       {
  5190.         txt = "&"
  5191.         hint = "Start Disabled"
  5192.         typ = "C"
  5193.         items = "No"$0D"Yes"
  5194.         values = "0"$0D"1"
  5195.       }
  5196.       m_iszEntity: =
  5197.       {
  5198.         txt = "&"
  5199.         hint = "Target NPC"
  5200.       }
  5201.       m_flRadius: =
  5202.       {
  5203.         txt = "&"
  5204.         hint = "Search Radius (0=everywhere)"
  5205.       }
  5206.       MoveSpeed: =
  5207.       {
  5208.         txt = "&"
  5209.         hint = "Move Speed"
  5210.       }
  5211.       PauseDuration: =
  5212.       {
  5213.         txt = "&"
  5214.         hint = "Pause Duration"
  5215.       }
  5216.       EffectDuration: =
  5217.       {
  5218.         txt = "&"
  5219.         hint = "Effect Duration"
  5220.       }
  5221.       target: =
  5222.       {
  5223.         txt = "&"
  5224.         hint = "Next Target"
  5225.       }
  5226.       input#Enable: =
  5227.       {
  5228.         txt = "&"
  5229.         hint = "Enable this entity"
  5230.       }
  5231.       input#Disable: =
  5232.       {
  5233.         txt = "&"
  5234.         hint = "Disable this entity"
  5235.       }
  5236.       output#AtTarget: =
  5237.       {
  5238.         txt = "&"
  5239.         hint = "Fires when NPC reaches this target"
  5240.       }
  5241.       output#LeaveTarget: =
  5242.       {
  5243.         txt = "&"
  5244.         hint = "Fires when NPC leaves this target"
  5245.       }
  5246.     }
  5247.     ai_relationship:form =
  5248.     {
  5249.       t_Targetname = !
  5250.       subject: =
  5251.       {
  5252.         txt = "&"
  5253.         hint = "Subject(s)"
  5254.       }
  5255.       target: =
  5256.       {
  5257.         txt = "&"
  5258.         hint = "Target(s)"
  5259.       }
  5260.       disposition: =
  5261.       {
  5262.         txt = "&"
  5263.         hint = "Disposition"
  5264.         typ = "C"
  5265.         items = "Hate"$0D"Fear"$0D"Like"$0D"Neutral"
  5266.         values = "1"$0D"2"$0D"3"$0D"4"
  5267.       }
  5268.       radius: =
  5269.       {
  5270.         txt = "&"
  5271.         hint = "Radius for subject"
  5272.       }
  5273.       rank: =
  5274.       {
  5275.         txt = "&"
  5276.         hint = "Disposition Priority"
  5277.       }
  5278.       StartActive: =
  5279.       {
  5280.         txt = "&"
  5281.         hint = "Start Active"
  5282.         typ = "C"
  5283.         items = "No"$0D"Yes"
  5284.         values = "0"$0D"1"
  5285.       }
  5286.       Reciprocal: =
  5287.       {
  5288.         txt = "&"
  5289.         hint = "Reciprocal"
  5290.         typ = "C"
  5291.         items = "No"$0D"Yes"
  5292.         values = "0"$0D"1"
  5293.       }
  5294.       input#ApplyRelationship: =
  5295.       {
  5296.         txt = "&"
  5297.         hint = "Apply relationship changes"
  5298.       }
  5299.       input#RevertRelationship: =
  5300.       {
  5301.         txt = "&"
  5302.         hint = "Revert relationship changes"
  5303.       }
  5304.     }
  5305.     ai_ally_manager:form =
  5306.     {
  5307.       t_Targetname = !
  5308.       maxallies: =
  5309.       {
  5310.         txt = "&"
  5311.         hint = "Maximum number of allies"
  5312.       }
  5313.       maxmedics: =
  5314.       {
  5315.         txt = "&"
  5316.         hint = "Maximum number of medics"
  5317.       }
  5318.       input#SetMaxAllies: =
  5319.       {
  5320.         txt = "&"
  5321.         hint = "Set maximum number of allies"
  5322.       }
  5323.       input#SetMaxMedics: =
  5324.       {
  5325.         txt = "&"
  5326.         hint = "Set maximum number of medic allies"
  5327.       }
  5328.       input#Replenish: =
  5329.       {
  5330.         txt = "&"
  5331.         hint = "Replenish player allies"
  5332.       }
  5333.       output#SpawnMedicAlly: =
  5334.       {
  5335.         txt = "&"
  5336.         hint = "Spawn Medic Ally"
  5337.       }
  5338.       output#SpawnAlly0: =
  5339.       {
  5340.         txt = "&"
  5341.         hint = "Spawn Ally 0"
  5342.       }
  5343.       output#SpawnAlly1: =
  5344.       {
  5345.         txt = "&"
  5346.         hint = "Spawn Ally 1"
  5347.       }
  5348.       output#SpawnAlly2: =
  5349.       {
  5350.         txt = "&"
  5351.         hint = "Spawn Ally 2"
  5352.       }
  5353.       output#SpawnAlly3: =
  5354.       {
  5355.         txt = "&"
  5356.         hint = "Spawn Ally 3"
  5357.       }
  5358.       output#SpawnAlly4: =
  5359.       {
  5360.         txt = "&"
  5361.         hint = "Spawn Ally 4"
  5362.       }
  5363.       output#SpawnAlly5: =
  5364.       {
  5365.         txt = "&"
  5366.         hint = "Spawn Ally 5"
  5367.       }
  5368.       output#SpawnAlly6: =
  5369.       {
  5370.         txt = "&"
  5371.         hint = "Spawn Ally 6"
  5372.       }
  5373.       output#SpawnAlly7: =
  5374.       {
  5375.         txt = "&"
  5376.         hint = "Spawn Ally 7"
  5377.       }
  5378.       output#SpawnAlly8: =
  5379.       {
  5380.         txt = "&"
  5381.         hint = "Spawn Ally 8"
  5382.       }
  5383.       output#SpawnAlly9: =
  5384.       {
  5385.         txt = "&"
  5386.         hint = "Spawn Ally 9"
  5387.       }
  5388.       output#OnZeroAllies: =
  5389.       {
  5390.         txt = "&"
  5391.         hint = "Fires when there are no more allies"
  5392.       }
  5393.       output#OnZeroMedicAllies: =
  5394.       {
  5395.         txt = "&"
  5396.         hint = "Fires when there are no more allies"
  5397.       }
  5398.     }
  5399.     t_LeadGoalBase:incl =
  5400.     {
  5401.       t_Targetname = !
  5402.       actor: =
  5403.       {
  5404.         txt = "&"
  5405.         hint = "Actor(s) to affect"
  5406.       }
  5407.       goal: =
  5408.       {
  5409.         txt = "&"
  5410.         hint = "Target Entity"
  5411.       }
  5412.       WaitPointName: =
  5413.       {
  5414.         txt = "&"
  5415.         hint = "Point to wait at if the target's not visible."
  5416.       }
  5417.       WaitDistance: =
  5418.       {
  5419.         txt = "&"
  5420.         hint = "Wait until player gets this close."
  5421.       }
  5422.       LeadDistance: =
  5423.       {
  5424.         txt = "&"
  5425.         hint = "Lead Distance."
  5426.       }
  5427.       Run: =
  5428.       {
  5429.         txt = "&"
  5430.         hint = "Run instead of Walk"
  5431.         typ = "C"
  5432.         items = "No"$0D"Yes"
  5433.         values = "0"$0D"1"
  5434.       }
  5435.       Retrieve: =
  5436.       {
  5437.         txt = "&"
  5438.         hint = "Retrieve player?"
  5439.         typ = "C"
  5440.         items = "No, just idle and wait"$0D"Yes, move to retrieve"
  5441.         values = "0"$0D"1"
  5442.       }
  5443.       AttractPlayerConceptModifier: =
  5444.       {
  5445.         txt = "&"
  5446.         hint = "Attract player concept modifier"
  5447.       }
  5448.       WaitOverConceptModifier: =
  5449.       {
  5450.         txt = "&"
  5451.         hint = "Player wait over concept modifier"
  5452.       }
  5453.       ArrivalConceptModifier: =
  5454.       {
  5455.         txt = "&"
  5456.         hint = "Arrival concept modifier"
  5457.       }
  5458.       PostArrivalConceptModifier: =
  5459.       {
  5460.         txt = "&"
  5461.         hint = "Post-arrival concepts modifier"
  5462.       }
  5463.       SuccessConceptModifier: =
  5464.       {
  5465.         txt = "&"
  5466.         hint = "Success concept modifier"
  5467.       }
  5468.       FailureConceptModifier: =
  5469.       {
  5470.         txt = "&"
  5471.         hint = "Failure concept modifier"
  5472.       }
  5473.       spawnflags: =
  5474.       {
  5475.         txt = "&"
  5476.         typ = "X1"
  5477.         cap = "No def success"
  5478.       }
  5479.       spawnflags: =
  5480.       {
  5481.         txt = "&"
  5482.         typ = "X2"
  5483.         cap = "No def failure"
  5484.       }
  5485.       spawnflags: =
  5486.       {
  5487.         txt = "&"
  5488.         typ = "X4"
  5489.         cap = "Use goal facing"
  5490.       }
  5491.       input#Activate: =
  5492.       {
  5493.         txt = "&"
  5494.         hint = "Begin the leading behavior"
  5495.       }
  5496.       input#Deactivate: =
  5497.       {
  5498.         txt = "&"
  5499.         hint = "Stop the leading behavior"
  5500.       }
  5501.       input#SetSuccess: =
  5502.       {
  5503.         txt = "&"
  5504.         hint = "Notify success of leading"
  5505.       }
  5506.       input#SetFailure: =
  5507.       {
  5508.         txt = "&"
  5509.         hint = "Notify failure of leading"
  5510.       }
  5511.       output#OnArrival: =
  5512.       {
  5513.         txt = "&"
  5514.         hint = "Fires when NPC reaches the lead point"
  5515.       }
  5516.       output#OnArrivalDone: =
  5517.       {
  5518.         txt = "&"
  5519.         hint = "Fires when NPC has played out any arrival speech"
  5520.       }
  5521.       output#OnSuccess: =
  5522.       {
  5523.         txt = "&"
  5524.         hint = "Fires when NPC achieves the goal"
  5525.       }
  5526.       output#OnFailure: =
  5527.       {
  5528.         txt = "&"
  5529.         hint = "Fires when NPC fails to achieves the goal"
  5530.       }
  5531.       output#OnDone: =
  5532.       {
  5533.         txt = "&"
  5534.         hint = "Fires when NPC completes behavior (any post-success or fail ac"
  5535.          "ting is complete)"
  5536.       }
  5537.     }
  5538.     ai_goal_lead:form =
  5539.     {
  5540.       t_LeadGoalBase = !
  5541.       SearchType: =
  5542.       {
  5543.         txt = "&"
  5544.         hint = "Search Type"
  5545.         typ = "C"
  5546.         items = "Entity Name"$0D"Classname"
  5547.         values = "0"$0D"1"
  5548.       }
  5549.     }
  5550.     ai_goal_lead_weapon:form =
  5551.     {
  5552.       t_LeadGoalBase = !
  5553.       WeaponName: =
  5554.       {
  5555.         txt = "&"
  5556.         hint = "Weapon"
  5557.         typ = "C"
  5558.         items = "Bugbait"$0D"SMG1"$0D"AR2"
  5559.         values = "weapon_bugbait"$0D"weapon_smg1"$0D"weapon_ar2"
  5560.       }
  5561.       MissingWeaponConceptModifier: =
  5562.       {
  5563.         txt = "&"
  5564.         hint = "Missing weapon concept modifier"
  5565.       }
  5566.       SearchType: =
  5567.       {
  5568.         txt = "&"
  5569.         hint = "Search Type"
  5570.         typ = "C"
  5571.         items = "Entity Name"$0D"Classname"
  5572.         values = "0"$0D"1"
  5573.       }
  5574.     }
  5575.     ai_goal_follow:form =
  5576.     {
  5577.       t_Targetname = !
  5578.       actor: =
  5579.       {
  5580.         txt = "&"
  5581.         hint = "Actor(s) to affect"
  5582.       }
  5583.       goal: =
  5584.       {
  5585.         txt = "&"
  5586.         hint = "Target Entity"
  5587.       }
  5588.       SearchType: =
  5589.       {
  5590.         txt = "&"
  5591.         hint = "Search Type"
  5592.         typ = "C"
  5593.         items = "Entity Name"$0D"Classname"
  5594.         values = "0"$0D"1"
  5595.       }
  5596.       StartActive: =
  5597.       {
  5598.         txt = "&"
  5599.         hint = "Start Active"
  5600.         typ = "C"
  5601.         items = "No"$0D"Yes"
  5602.         values = "0"$0D"1"
  5603.       }
  5604.       MaximumState: =
  5605.       {
  5606.         txt = "&"
  5607.         hint = "Maximum state"
  5608.         typ = "C"
  5609.         items = "Idle"$0D"Alert"$0D"Combat"
  5610.         values = "1"$0D"2"$0D"3"
  5611.       }
  5612.       Formation: =
  5613.       {
  5614.         txt = "&"
  5615.         hint = "Formation"
  5616.         typ = "C"
  5617.         items = "Close circle"$0D"Wide circle"$0D"Medium circle"
  5618.         values = "0"$0D"1"$0D"5"
  5619.       }
  5620.       input#Activate: =
  5621.       {
  5622.         txt = "&"
  5623.         hint = "Begin the follow behavior"
  5624.       }
  5625.       input#Deactivate: =
  5626.       {
  5627.         txt = "&"
  5628.         hint = "Cease the follow behavior"
  5629.       }
  5630.     }
  5631.     ai_battle_line:form =
  5632.     {
  5633.       bbox = '-4 -4 -4 4 4 4'
  5634.       t_Targetname = !
  5635.       t_Angles = !
  5636.       t_Parentname = !
  5637.       spawnflags: =
  5638.       {
  5639.         txt = "&"
  5640.         typ = "X1"
  5641.         cap = "Use parent's orientation"
  5642.       }
  5643.       actor: =
  5644.       {
  5645.         txt = "&"
  5646.         hint = "Actor(s) or squad to affect"
  5647.       }
  5648.       Active: =
  5649.       {
  5650.         txt = "&"
  5651.         hint = "Active"
  5652.         typ = "C"
  5653.         items = "No"$0D"Yes"
  5654.         values = "0"$0D"1"
  5655.       }
  5656.       Strict: =
  5657.       {
  5658.         txt = "&"
  5659.         hint = "Strict"
  5660.         typ = "C"
  5661.         items = "No"$0D"Yes"
  5662.         values = "0"$0D"1"
  5663.       }
  5664.       input#Activate: =
  5665.       {
  5666.         txt = "&"
  5667.       }
  5668.       input#Activate: =
  5669.       {
  5670.         txt = "&"
  5671.       }
  5672.       Deactivate: =
  5673.       {
  5674.         txt = "&"
  5675.       }
  5676.     }
  5677.     ai_goal_standoff:form =
  5678.     {
  5679.       t_Targetname = !
  5680.       actor: =
  5681.       {
  5682.         txt = "&"
  5683.         hint = "Actor(s) to affect"
  5684.       }
  5685.       SearchType: =
  5686.       {
  5687.         txt = "&"
  5688.         hint = "Search Type"
  5689.         typ = "C"
  5690.         items = "Entity Name"$0D"Classname"
  5691.         values = "0"$0D"1"
  5692.       }
  5693.       StartActive: =
  5694.       {
  5695.         txt = "&"
  5696.         hint = "Start Active"
  5697.         typ = "C"
  5698.         items = "No"$0D"Yes"
  5699.         values = "0"$0D"1"
  5700.       }
  5701.       HintGroupChangeReaction: =
  5702.       {
  5703.         txt = "&"
  5704.         hint = "Reaction to tactical change"
  5705.         typ = "C"
  5706.         items = "Move when ready (default AI)"$0D"Move when seek cover"$0D"Mov"
  5707.          "e immediately"
  5708.         values = "0"$0D"1"$0D"2"
  5709.       }
  5710.       Aggressiveness: =
  5711.       {
  5712.         txt = "&"
  5713.         hint = "Aggressiveness"
  5714.         typ = "C"
  5715.         items = "Very low"$0D"Low"$0D"Medium"$0D"High"$0D"Very High"
  5716.         values = "0"$0D"1"$0D"2"$0D"3"$0D"4"
  5717.       }
  5718.       PlayerBattleline: =
  5719.       {
  5720.         txt = "&"
  5721.         hint = "Player battleline"
  5722.         typ = "C"
  5723.         items = "No"$0D"Yes"
  5724.         values = "0"$0D"1"
  5725.       }
  5726.       StayAtCover: =
  5727.       {
  5728.         txt = "&"
  5729.         hint = "Stay at cover location"
  5730.         typ = "C"
  5731.         items = "No"$0D"Yes"
  5732.         values = "0"$0D"1"
  5733.       }
  5734.       AbandonIfEnemyHides: =
  5735.       {
  5736.         txt = "&"
  5737.         hint = "Abandon if enemies hide"
  5738.         typ = "C"
  5739.         items = "No"$0D"Yes"
  5740.         values = "0"$0D"1"
  5741.       }
  5742.       input#Activate: =
  5743.       {
  5744.         txt = "&"
  5745.         hint = "Begin contesting position"
  5746.       }
  5747.       input#Deactivate: =
  5748.       {
  5749.         txt = "&"
  5750.         hint = "Cease contesting position"
  5751.       }
  5752.       input#SetAggressiveness: =
  5753.       {
  5754.         txt = "&"
  5755.         hint = "Set aggressiveness"
  5756.       }
  5757.     }
  5758.     ai_goal_police:form =
  5759.     {
  5760.       t_Targetname = !
  5761.       t_Parentname = !
  5762.       t_Angles = !
  5763.       spawnflags: =
  5764.       {
  5765.         txt = "&"
  5766.         typ = "X2"
  5767.         cap = "Knock-out target past crossing plane"
  5768.       }
  5769.       spawnflags: =
  5770.       {
  5771.         txt = "&"
  5772.         typ = "X4"
  5773.         cap = "Do not leave post"
  5774.       }
  5775.       policeradius: =
  5776.       {
  5777.         txt = "&"
  5778.         hint = "Radius"
  5779.       }
  5780.       policetarget: =
  5781.       {
  5782.         txt = "&"
  5783.         hint = "Target"
  5784.       }
  5785.       input#EnableKnockOut: =
  5786.       {
  5787.         txt = "&"
  5788.         hint = "Tells the goal to make the active policing NPC knock out its t"
  5789.          "arget"
  5790.       }
  5791.       input#DisableKnockOut: =
  5792.       {
  5793.         txt = "&"
  5794.         hint = "Stop the active policing NPC from trying to knock out its targ"
  5795.          "et"
  5796.       }
  5797.       output#OnFirstWarning: =
  5798.       {
  5799.         txt = "&"
  5800.         hint = "Fires the first time a policing cop warns a target"
  5801.       }
  5802.       output#OnSecondWarning: =
  5803.       {
  5804.         txt = "&"
  5805.         hint = "Fires the second time a policing cop warns a target"
  5806.       }
  5807.       output#OnLastWarning: =
  5808.       {
  5809.         txt = "&"
  5810.         hint = "Fires when a policing cop warns a target for the last time"
  5811.       }
  5812.       output#OnSupressingTarget: =
  5813.       {
  5814.         txt = "&"
  5815.         hint = "Fires when a policing cop starts to suppress (ie. beat) a targ"
  5816.          "et"
  5817.       }
  5818.       output#OnKnockOut: =
  5819.       {
  5820.         txt = "&"
  5821.         hint = "Fires when a target has been knocked out"
  5822.       }
  5823.     }
  5824.     assault_rallypoint:form =
  5825.     {
  5826.       t_Targetname = !
  5827.       t_Parentname = !
  5828.       t_Angles = !
  5829.       assaultpoint: =
  5830.       {
  5831.         txt = "&"
  5832.         hint = "Assault Point"
  5833.       }
  5834.       assaultdelay: =
  5835.       {
  5836.         txt = "&"
  5837.         hint = "Assault Delay"
  5838.       }
  5839.       rallysequence: =
  5840.       {
  5841.         txt = "&"
  5842.         hint = "Rally Sequence"
  5843.       }
  5844.       priority: =
  5845.       {
  5846.         txt = "&"
  5847.         hint = "Priority"
  5848.       }
  5849.       output#OnArrival: =
  5850.       {
  5851.         txt = "&"
  5852.         hint = "Fires when the NPC reaches this rally point"
  5853.       }
  5854.     }
  5855.     assault_assaultpoint:form =
  5856.     {
  5857.       t_Targetname = !
  5858.       t_Parentname = !
  5859.       t_Angles = !
  5860.       assaultgroup: =
  5861.       {
  5862.         txt = "&"
  5863.         hint = "Assault Hint Group"
  5864.       }
  5865.       nextassaultpoint: =
  5866.       {
  5867.         txt = "&"
  5868.         hint = "Next assault point (optional)"
  5869.       }
  5870.       assaulttimeout: =
  5871.       {
  5872.         txt = "&"
  5873.         hint = "Assault time out"
  5874.       }
  5875.       clearoncontact: =
  5876.       {
  5877.         txt = "&"
  5878.         hint = "Clear on contact with enemies"
  5879.         typ = "C"
  5880.         items = "No"$0D"Yes"
  5881.         values = "0"$0D"1"
  5882.       }
  5883.       allowdiversion: =
  5884.       {
  5885.         txt = "&"
  5886.         hint = "Allow diversion"
  5887.         typ = "C"
  5888.         items = "No"$0D"Yes"
  5889.         values = "0"$0D"1"
  5890.       }
  5891.       nevertimeout: =
  5892.       {
  5893.         txt = "&"
  5894.         hint = "Never Timeout"
  5895.         typ = "C"
  5896.         items = "No"$0D"Yes"
  5897.         values = "0"$0D"1"
  5898.       }
  5899.       spawnflags: =
  5900.       {
  5901.         txt = "&"
  5902.         typ = "X1"
  5903.         cap = "Clear this point upon arrival, UNCONDITIONALLY"
  5904.       }
  5905.       input#SetClearOnContact: =
  5906.       {
  5907.         txt = "&"
  5908.         hint = "Set the clear on contact flag."
  5909.       }
  5910.       input#SetAllowDiversion: =
  5911.       {
  5912.         txt = "&"
  5913.         hint = "Set the allow diversion flag."
  5914.       }
  5915.       output#OnArrival: =
  5916.       {
  5917.         txt = "&"
  5918.         hint = "Fires when the NPC reaches this assault point"
  5919.       }
  5920.       output#OnAssaultClear: =
  5921.       {
  5922.         txt = "&"
  5923.         hint = "Fires when this assault point is cleared of enemies"
  5924.       }
  5925.     }
  5926.     ai_goal_assault:form =
  5927.     {
  5928.       t_Targetname = !
  5929.       actor: =
  5930.       {
  5931.         txt = "&"
  5932.         hint = "Actor(s) to affect"
  5933.       }
  5934.       rallypoint: =
  5935.       {
  5936.         txt = "&"
  5937.         hint = "Rally Point Set"
  5938.       }
  5939.       SearchType: =
  5940.       {
  5941.         txt = "&"
  5942.         hint = "Search Type"
  5943.         typ = "C"
  5944.         items = "Entity Name"$0D"Classname"
  5945.         values = "0"$0D"1"
  5946.       }
  5947.       StartActive: =
  5948.       {
  5949.         txt = "&"
  5950.         hint = "Start Active"
  5951.         typ = "C"
  5952.         items = "No"$0D"Yes"
  5953.         values = "0"$0D"1"
  5954.       }
  5955.       AssaultCue: =
  5956.       {
  5957.         txt = "&"
  5958.         hint = "Assault Cue"
  5959.         typ = "C"
  5960.         items = "Entity System Input"$0D"Gunfire"$0D"Don't wait for a cue."
  5961.         values = "1"$0D"2"$0D"3"
  5962.       }
  5963.       input#Activate: =
  5964.       {
  5965.         txt = "&"
  5966.         hint = "Begin the assault behavior"
  5967.       }
  5968.       input#Deactivate: =
  5969.       {
  5970.         txt = "&"
  5971.         hint = "Cease the assault behavior"
  5972.       }
  5973.       input#BeginAssault: =
  5974.       {
  5975.         txt = "&"
  5976.         hint = "Begin assault phase"
  5977.       }
  5978.     }
  5979.     t_BaseActBusy:incl =
  5980.     {
  5981.       t_Targetname = !
  5982.       actor: =
  5983.       {
  5984.         txt = "&"
  5985.         hint = "Actor(s) to affect"
  5986.       }
  5987.       StartActive: =
  5988.       {
  5989.         txt = "&"
  5990.         hint = "Start Active"
  5991.         typ = "C"
  5992.         items = "No"$0D"Yes"
  5993.         values = "0"$0D"1"
  5994.       }
  5995.       SearchType: =
  5996.       {
  5997.         txt = "&"
  5998.         hint = "Search Type"
  5999.         typ = "C"
  6000.         items = "Entity Name"$0D"Classname"
  6001.         values = "0"$0D"1"
  6002.       }
  6003.       busysearchrange: =
  6004.       {
  6005.         txt = "&"
  6006.         hint = "Search Range for Busy Hints"
  6007.       }
  6008.       visibleonly: =
  6009.       {
  6010.         txt = "&"
  6011.         hint = "Visible Busy Hints Only"
  6012.         typ = "C"
  6013.         items = "No"$0D"Yes"
  6014.         values = "0"$0D"1"
  6015.       }
  6016.       input#Activate: =
  6017.       {
  6018.         txt = "&"
  6019.         hint = "Begin acting busy"
  6020.       }
  6021.       input#Deactivate: =
  6022.       {
  6023.         txt = "&"
  6024.         hint = "Cease acting busy"
  6025.       }
  6026.       input#SetBusySearchRange: =
  6027.       {
  6028.         txt = "&"
  6029.         hint = "Update the busy search range for all actors."
  6030.       }
  6031.       input#ForceNPCToActBusy: =
  6032.       {
  6033.         txt = "&"
  6034.         hint = "Force an NPC to act busy. Takes parameters, separated by space"
  6035.          "s: <Targetname> <hint node targetname> <optional:teleport> <optional"
  6036.          ":$customactivityorsequence> <maximum time to actbusy>. If no hint no"
  6037.          "de targetname is specified, it'll search for a random one. If no max"
  6038.          " time is specified, it'll use the default. Specifying 0 as the max t"
  6039.          "ime will make the NPC act busy until disturbed. If the optional tele"
  6040.          "port parameter is specified, the NPC will teleport to the act busy p"
  6041.          "oint. A custom move animation can be specified by prepending $ to th"
  6042.          "e name of it. i.e. $ACT_RUN will make the NPC Run. Sequence names ca"
  6043.          "n be used instead of activities."
  6044.       }
  6045.       input#ForceThisNPCToActBusy: =
  6046.       {
  6047.         txt = "&"
  6048.         hint = "Force an NPC outputted from another entity to act busy. (only "
  6049.          "usable from an output that specifies an entity)"
  6050.       }
  6051.       input#ForceThisNPCToLeave: =
  6052.       {
  6053.         txt = "&"
  6054.         hint = "Force an NPC outputted from another entity to find a HINT_NPC_"
  6055.          "EXIT_POINT hintnode and vanish."
  6056.       }
  6057.       output#OnNPCStartedBusy: =
  6058.       {
  6059.         txt = "&"
  6060.         hint = "Fired when an NPC targeted by this goal starts an ActBusy anim"
  6061.          "ation."
  6062.       }
  6063.       output#OnNPCFinishedBusy: =
  6064.       {
  6065.         txt = "&"
  6066.         hint = "Fired when an NPC targeted by this goal finishes an ActBusy."
  6067.       }
  6068.       output#OnNPCLeft: =
  6069.       {
  6070.         txt = "&"
  6071.         hint = "Fired when an NPC target by this goal finishes a forced Leave."
  6072.       }
  6073.     }
  6074.     ai_goal_actbusy:form =
  6075.     {
  6076.       t_BaseActBusy = !
  6077.     }
  6078.     ai_goal_actbusy_queue:form =
  6079.     {
  6080.       t_BaseActBusy = !
  6081.       node_exit: =
  6082.       {
  6083.         txt = "&"
  6084.         hint = "Exit Node"
  6085.       }
  6086.       node01: =
  6087.       {
  6088.         txt = "&"
  6089.         hint = "Node 1"
  6090.       }
  6091.       node02: =
  6092.       {
  6093.         txt = "&"
  6094.         hint = "Node 2"
  6095.       }
  6096.       node03: =
  6097.       {
  6098.         txt = "&"
  6099.         hint = "Node 3"
  6100.       }
  6101.       node04: =
  6102.       {
  6103.         txt = "&"
  6104.         hint = "Node 4"
  6105.       }
  6106.       node05: =
  6107.       {
  6108.         txt = "&"
  6109.         hint = "Node 5"
  6110.       }
  6111.       node06: =
  6112.       {
  6113.         txt = "&"
  6114.         hint = "Node 6"
  6115.       }
  6116.       node07: =
  6117.       {
  6118.         txt = "&"
  6119.         hint = "Node 7"
  6120.       }
  6121.       node08: =
  6122.       {
  6123.         txt = "&"
  6124.         hint = "Node 8"
  6125.       }
  6126.       node09: =
  6127.       {
  6128.         txt = "&"
  6129.         hint = "Node 9"
  6130.       }
  6131.       node10: =
  6132.       {
  6133.         txt = "&"
  6134.         hint = "Node 10"
  6135.       }
  6136.       node11: =
  6137.       {
  6138.         txt = "&"
  6139.         hint = "Node 11"
  6140.       }
  6141.       node12: =
  6142.       {
  6143.         txt = "&"
  6144.         hint = "Node 12"
  6145.       }
  6146.       node13: =
  6147.       {
  6148.         txt = "&"
  6149.         hint = "Node 13"
  6150.       }
  6151.       node14: =
  6152.       {
  6153.         txt = "&"
  6154.         hint = "Node 14"
  6155.       }
  6156.       node15: =
  6157.       {
  6158.         txt = "&"
  6159.         hint = "Node 15"
  6160.       }
  6161.       node16: =
  6162.       {
  6163.         txt = "&"
  6164.         hint = "Node 16"
  6165.       }
  6166.       node17: =
  6167.       {
  6168.         txt = "&"
  6169.         hint = "Node 17"
  6170.       }
  6171.       node18: =
  6172.       {
  6173.         txt = "&"
  6174.         hint = "Node 18"
  6175.       }
  6176.       node19: =
  6177.       {
  6178.         txt = "&"
  6179.         hint = "Node 19"
  6180.       }
  6181.       node20: =
  6182.       {
  6183.         txt = "&"
  6184.         hint = "Node 20"
  6185.       }
  6186.       mustreachfront: =
  6187.       {
  6188.         txt = "&"
  6189.         hint = "Must Reach Front"
  6190.         typ = "C"
  6191.         items = "No"$0D"Yes"
  6192.         values = "0"$0D"1"
  6193.       }
  6194.       input#PlayerStartedBlocking: =
  6195.       {
  6196.         txt = "&"
  6197.         hint = "Tell the queue manager that the player has started blocking a "
  6198.          "spot in the queue."
  6199.       }
  6200.       input#PlayerStoppedBlocking: =
  6201.       {
  6202.         txt = "&"
  6203.         hint = "Tell the queue manager that the player has stopped blocking a "
  6204.          "spot in the queue."
  6205.       }
  6206.       input#MoveQueueUp: =
  6207.       {
  6208.         txt = "&"
  6209.         hint = "Force the queue to move up, sending the front-most NPC out of "
  6210.          "the queue."
  6211.       }
  6212.       output#OnQueueMoved: =
  6213.       {
  6214.         txt = "&"
  6215.         hint = "Fired when the queue moves. Outputs the number of NPCs left in"
  6216.          " the queue."
  6217.       }
  6218.       output#OnNPCStartedLeavingQueue: =
  6219.       {
  6220.         txt = "&"
  6221.         hint = "Fired when the NPC at the head of the queue starts to leave. T"
  6222.          "he activator is the NPC, and the string is the name of the NPC."
  6223.       }
  6224.       output#OnNPCLeftQueue: =
  6225.       {
  6226.         txt = "&"
  6227.         hint = "Fired when the NPC at the head of the queue leaves. The activa"
  6228.          "tor is the NPC, and the string is the name of the NPC."
  6229.       }
  6230.     }
  6231.     ai_changetarget:form =
  6232.     {
  6233.       bbox = '-8 -8 -8 8 8 8'
  6234.       t_Targetname = !
  6235.       target: =
  6236.       {
  6237.         txt = "&"
  6238.         hint = "Target entity"
  6239.       }
  6240.       m_iszNewTarget: =
  6241.       {
  6242.         txt = "&"
  6243.         hint = "New Target"
  6244.       }
  6245.       input#Kill: =
  6246.       {
  6247.         txt = "&"
  6248.         hint = "Removes this entity from the world"
  6249.       }
  6250.       input#Activate: =
  6251.       {
  6252.         txt = "&"
  6253.         hint = "Changes the entities target"
  6254.       }
  6255.     }
  6256.     ai_changehintgroup:form =
  6257.     {
  6258.       bbox = '-8 -8 -8 8 8 8'
  6259.       t_Targetname = !
  6260.       SearchType: =
  6261.       {
  6262.         txt = "&"
  6263.         hint = "Search Type"
  6264.         typ = "C"
  6265.         items = "Entity Name"$0D"Classname"$0D"Old Hint Group"
  6266.         values = "0"$0D"1"$0D"2"
  6267.       }
  6268.       SearchName: =
  6269.       {
  6270.         txt = "&"
  6271.         hint = "Name to search for"
  6272.       }
  6273.       NewHintGroup: =
  6274.       {
  6275.         txt = "&"
  6276.         hint = "New Hint Group"
  6277.       }
  6278.       Radius: =
  6279.       {
  6280.         txt = "&"
  6281.         hint = "Search Radius"
  6282.       }
  6283.       hintlimiting: =
  6284.       {
  6285.         txt = "&"
  6286.         hint = "Hint Limit Nav"
  6287.         typ = "C"
  6288.         items = "No"$0D"Yes"
  6289.         values = "0"$0D"1"
  6290.       }
  6291.       input#Kill: =
  6292.       {
  6293.         txt = "&"
  6294.         hint = "Removes this entity from the world"
  6295.       }
  6296.       input#Activate: =
  6297.       {
  6298.         txt = "&"
  6299.         hint = "Change the Hint Group"
  6300.       }
  6301.     }
  6302.     ai_script_conditions:form =
  6303.     {
  6304.       t_Targetname = !
  6305.       Actor: =
  6306.       {
  6307.         txt = "&"
  6308.         hint = "Actor"
  6309.       }
  6310.       StartDisabled: =
  6311.       {
  6312.         txt = "&"
  6313.         hint = "Start Disabled"
  6314.         typ = "C"
  6315.         items = "No"$0D"Yes"
  6316.         values = "0"$0D"1"
  6317.       }
  6318.       MinimumState: =
  6319.       {
  6320.         txt = "&"
  6321.         hint = "Minimum state"
  6322.         typ = "C"
  6323.         items = "Idle"$0D"Alert"$0D"Combat"
  6324.         values = "1"$0D"2"$0D"3"
  6325.       }
  6326.       MaximumState: =
  6327.       {
  6328.         txt = "&"
  6329.         hint = "Maximum state"
  6330.         typ = "C"
  6331.         items = "Idle"$0D"Alert"$0D"Combat"
  6332.         values = "1"$0D"2"$0D"3"
  6333.       }
  6334.       ScriptStatus: =
  6335.       {
  6336.         txt = "&"
  6337.         hint = "Actor is running a script?"
  6338.         typ = "C"
  6339.         items = "No"$0D"Yes"$0D"Don't care"
  6340.         values = "0"$0D"1"$0D"2"
  6341.       }
  6342.       RequiredTime: =
  6343.       {
  6344.         txt = "&"
  6345.         hint = "Required Time"
  6346.       }
  6347.       MinTimeout: =
  6348.       {
  6349.         txt = "&"
  6350.         hint = "Minimum time out"
  6351.       }
  6352.       MaxTimeout: =
  6353.       {
  6354.         txt = "&"
  6355.         hint = "Maximum time out"
  6356.       }
  6357.       ActorSeePlayer: =
  6358.       {
  6359.         txt = "&"
  6360.         hint = "Actor Sees Player"
  6361.         typ = "C"
  6362.         items = "No"$0D"Yes"$0D"Don't care"
  6363.         values = "0"$0D"1"$0D"2"
  6364.       }
  6365.       PlayerActorProximity: =
  6366.       {
  6367.         txt = "&"
  6368.         hint = "Player distance"
  6369.       }
  6370.       PlayerActorFOV: =
  6371.       {
  6372.         txt = "&"
  6373.         hint = "Player FOV for Actor "
  6374.       }
  6375.       PlayerActorFOVTrueCone: =
  6376.       {
  6377.         txt = "&"
  6378.         hint = "Play FOV to Actor is a true view cone"
  6379.         typ = "C"
  6380.         items = "No - Tall pie slice"$0D"Yes - True view cone"
  6381.         values = "0"$0D"1"
  6382.       }
  6383.       PlayerActorLOS: =
  6384.       {
  6385.         txt = "&"
  6386.         hint = "Player has LOS to Actor"
  6387.         typ = "C"
  6388.         items = "No"$0D"Yes"$0D"Don't care"
  6389.         values = "0"$0D"1"$0D"2"
  6390.       }
  6391.       target: =
  6392.       {
  6393.         txt = "&"
  6394.         hint = "Target (Optional)"
  6395.       }
  6396.       ActorSeeTarget: =
  6397.       {
  6398.         txt = "&"
  6399.         hint = "Actor Sees Target"
  6400.         typ = "C"
  6401.         items = "No"$0D"Yes"$0D"Don't care"
  6402.         values = "0"$0D"1"$0D"2"
  6403.       }
  6404.       ActorTargetProximity: =
  6405.       {
  6406.         txt = "&"
  6407.         hint = "Target distance"
  6408.       }
  6409.       PlayerTargetProximity: =
  6410.       {
  6411.         txt = "&"
  6412.         hint = "Player distance from Target"
  6413.       }
  6414.       PlayerTargetFOV: =
  6415.       {
  6416.         txt = "&"
  6417.         hint = "Player FOV for Target"
  6418.       }
  6419.       PlayerTargetFOVTrueCone: =
  6420.       {
  6421.         txt = "&"
  6422.         hint = "Play FOV to Target is a true view cone"
  6423.         typ = "C"
  6424.         items = "No - Tall pie slice"$0D"Yes - True view cone"
  6425.         values = "0"$0D"1"
  6426.       }
  6427.       PlayerTargetLOS: =
  6428.       {
  6429.         txt = "&"
  6430.         hint = "Player has LOS to Target"
  6431.         typ = "C"
  6432.         items = "No"$0D"Yes"$0D"Don't care"
  6433.         values = "0"$0D"1"$0D"2"
  6434.       }
  6435.       PlayerBlockingActor: =
  6436.       {
  6437.         txt = "&"
  6438.         hint = "Player blocking Actor"
  6439.         typ = "C"
  6440.         items = "No"$0D"Yes"$0D"Don't care"
  6441.         values = "0"$0D"1"$0D"2"
  6442.       }
  6443.       input#Enable: =
  6444.       {
  6445.         txt = "&"
  6446.         hint = "Enable this entity"
  6447.       }
  6448.       input#Disable: =
  6449.       {
  6450.         txt = "&"
  6451.         hint = "Disable this entity"
  6452.       }
  6453.       output#OnConditionsSatisfied: =
  6454.       {
  6455.         txt = "&"
  6456.         hint = "Fires when AI conditions satisfied"
  6457.       }
  6458.       output#OnConditionsTimeout: =
  6459.       {
  6460.         txt = "&"
  6461.         hint = "Fires when AI conditions timed out"
  6462.       }
  6463.     }
  6464.     scripted_sequence:form =
  6465.     {
  6466.       t_BaseScripted = !
  6467.       t_Angles = !
  6468.       t_DXLevelChoice = !
  6469.       spawnflags: =
  6470.       {
  6471.         txt = "&"
  6472.         typ = "X4"
  6473.         cap = "Repeatable"
  6474.       }
  6475.       spawnflags: =
  6476.       {
  6477.         txt = "&"
  6478.         typ = "X8"
  6479.         cap = "Leave Corpse"
  6480.       }
  6481.       spawnflags: =
  6482.       {
  6483.         txt = "&"
  6484.         typ = "X16"
  6485.         cap = "Start on Spawn"
  6486.       }
  6487.       spawnflags: =
  6488.       {
  6489.         txt = "&"
  6490.         typ = "X32"
  6491.         cap = "No Interruptions"
  6492.       }
  6493.       spawnflags: =
  6494.       {
  6495.         txt = "&"
  6496.         typ = "X64"
  6497.         cap = "Override AI"
  6498.       }
  6499.       spawnflags: =
  6500.       {
  6501.         txt = "&"
  6502.         typ = "X128"
  6503.         cap = "No Script Movement"
  6504.       }
  6505.       spawnflags: =
  6506.       {
  6507.         txt = "&"
  6508.         typ = "X256"
  6509.         cap = "Loop in Post Idle"
  6510.       }
  6511.       spawnflags: =
  6512.       {
  6513.         txt = "&"
  6514.         typ = "X512"
  6515.         cap = "Priority Script"
  6516.       }
  6517.     }
  6518.     aiscripted_schedule:form =
  6519.     {
  6520.       t_Targetname = !
  6521.       m_iszEntity: =
  6522.       {
  6523.         txt = "&"
  6524.         hint = "Target NPC"
  6525.       }
  6526.       m_flRadius: =
  6527.       {
  6528.         txt = "&"
  6529.         hint = "Search Radius (0=everywhere)"
  6530.       }
  6531.       graball: =
  6532.       {
  6533.         txt = "&"
  6534.         hint = "All in radius"
  6535.         typ = "C"
  6536.         items = "No"$0D"Yes"
  6537.         values = "0"$0D"1"
  6538.       }
  6539.       spawnflags: =
  6540.       {
  6541.         txt = "&"
  6542.         typ = "X4"
  6543.         cap = "Repeatable"
  6544.       }
  6545.       spawnflags: =
  6546.       {
  6547.         txt = "&"
  6548.         typ = "X1024"
  6549.         cap = "Search Cyclically"
  6550.       }
  6551.       spawnflags: =
  6552.       {
  6553.         txt = "&"
  6554.         typ = "X2048"
  6555.         cap = "Don't Complain"
  6556.       }
  6557.       forcestate: =
  6558.       {
  6559.         txt = "&"
  6560.         hint = "AI state to set"
  6561.         typ = "C"
  6562.         items = "<None>"$0D"Set state to IDLE"$0D"Set state to ALERT"$0D"Set s"
  6563.          "tate to COMBAT"
  6564.         values = "0"$0D"1"$0D"2"$0D"3"
  6565.       }
  6566.       schedule: =
  6567.       {
  6568.         txt = "&"
  6569.         hint = "Schedule to run"
  6570.         typ = "C"
  6571.         items = "<None>"$0D"Walk to Goal Entity"$0D"Run to Goal Entity"$0D"Set"
  6572.          " enemy to Goal Entity"$0D"Walk Goal Path"$0D"Run Goal Path"$0D"Set e"
  6573.          "nemy to Goal Entity AND Run to Goal Entity"
  6574.         values = "0"$0D"1"$0D"2"$0D"3"$0D"4"$0D"5"$0D"6"
  6575.       }
  6576.       interruptability: =
  6577.       {
  6578.         txt = "&"
  6579.         hint = "Interruptability"
  6580.         typ = "C"
  6581.         items = "General"$0D"Damage or Death"$0D"Death"
  6582.         values = "0"$0D"1"$0D"2"
  6583.       }
  6584.       goalent: =
  6585.       {
  6586.         txt = "&"
  6587.         hint = "Goal entity"
  6588.       }
  6589.       input#StartSchedule: =
  6590.       {
  6591.         txt = "&"
  6592.         hint = "Starts the scripted schedule. This will first locate an NPC th"
  6593.          "at matches the given target, then tell the NPC to run the specified "
  6594.          "schedule."
  6595.       }
  6596.     }
  6597.     ai_citizen_response_system:form =
  6598.     {
  6599.       t_Targetname = !
  6600.       input#ResponseVitalNPC: =
  6601.       {
  6602.         txt = "&"
  6603.         hint = "Fire the VitalNPC Died response."
  6604.       }
  6605.     }
  6606.     func_healthcharger:form =
  6607.     {
  6608.       t_EnableDisable = !
  6609.       t_Parentname = !
  6610.       t_Origin = !
  6611.       t_Global = !
  6612.       _minlight: =
  6613.       {
  6614.         txt = "&"
  6615.         hint = "Minimum light level"
  6616.       }
  6617.       output#OutRemainingHealth: =
  6618.       {
  6619.         txt = "&"
  6620.         hint = "Remaining Health."
  6621.       }
  6622.       output#OnPlayerUse: =
  6623.       {
  6624.         txt = "&"
  6625.         hint = "Fired when the player +USEs the charger."
  6626.       }
  6627.     }
  6628.     func_recharge:form =
  6629.     {
  6630.       t_Targetname = !
  6631.       t_Parentname = !
  6632.       t_Origin = !
  6633.       _minlight: =
  6634.       {
  6635.         txt = "&"
  6636.         hint = "Minimum light level"
  6637.       }
  6638.       spawnflags: =
  6639.       {
  6640.         txt = "&"
  6641.         typ = "X8192"
  6642.         cap = "Citadel recharger"
  6643.       }
  6644.       input#Recharge: =
  6645.       {
  6646.         txt = "&"
  6647.         hint = "Recharge to full"
  6648.       }
  6649.       output#OutRemainingCharge: =
  6650.       {
  6651.         txt = "&"
  6652.         hint = "Remaining Charge."
  6653.       }
  6654.       output#OnHalfEmpty: =
  6655.       {
  6656.         txt = "&"
  6657.         hint = "Half-Empty"
  6658.       }
  6659.       output#OnEmpty: =
  6660.       {
  6661.         txt = "&"
  6662.         hint = "Empty"
  6663.       }
  6664.       output#OnFull: =
  6665.       {
  6666.         txt = "&"
  6667.         hint = "Recharged to full."
  6668.       }
  6669.       output#OnPlayerUse: =
  6670.       {
  6671.         txt = "&"
  6672.         hint = "Fired when the player +USEs the charger."
  6673.       }
  6674.     }
  6675.     func_vehicleclip:form =
  6676.     {
  6677.       t_Parentname = !
  6678.       t_Targetname = !
  6679.       t_Global = !
  6680.       input#Kill: =
  6681.       {
  6682.         txt = "&"
  6683.         hint = "Removes this entity from the world"
  6684.       }
  6685.     }
  6686.     func_lookdoor:form =
  6687.     {
  6688.       t_func_movelinear = !
  6689.       spawnflags: =
  6690.       {
  6691.         txt = "&"
  6692.         typ = "X8192"
  6693.         cap = "LookDoor Threshold"
  6694.       }
  6695.       spawnflags: =
  6696.       {
  6697.         txt = "&"
  6698.         typ = "X16384"
  6699.         cap = "LookDoor Invert"
  6700.       }
  6701.       spawnflags: =
  6702.       {
  6703.         txt = "&"
  6704.         typ = "X32768"
  6705.         cap = "LookDoor From Open"
  6706.       }
  6707.       ProximityDistance: =
  6708.       {
  6709.         txt = "&"
  6710.         hint = "Proximity Distance"
  6711.       }
  6712.       ProximityOffset: =
  6713.       {
  6714.         txt = "&"
  6715.         hint = "Proximity Offset"
  6716.       }
  6717.       FieldOfView: =
  6718.       {
  6719.         txt = "&"
  6720.         hint = "FieldOfView"
  6721.       }
  6722.       input#InvertOn: =
  6723.       {
  6724.         txt = "&"
  6725.         hint = "InvertOn - when set behavior of door is inverted."
  6726.       }
  6727.       input#InvertOff: =
  6728.       {
  6729.         txt = "&"
  6730.         hint = "InvertOff - when set behavior of door is normal."
  6731.       }
  6732.     }
  6733.     trigger_waterydeath:form =
  6734.     {
  6735.       t_Trigger = !
  6736.     }
  6737.     env_global:form =
  6738.     {
  6739.       bbox = '-8 -8 -8 8 8 8'
  6740.       t_EnvGlobal = !
  6741.       globalstate: =
  6742.       {
  6743.         txt = "&"
  6744.         hint = "Global State to Set"
  6745.         typ = "C"
  6746.         items = "Gordon pre-criminal"$0D"Antlions are player allies"$0D"Suit s"
  6747.          "print function not yet enabled"$0D"Super phys gun is enabled"$0D"Fri"
  6748.          "endly encounter sequence (lower weapons, etc.)"$0D"Gordon is invulne"
  6749.          "rable"$0D"Don't spawn seagulls on the jeep"
  6750.         values = "gordon_precriminal"$0D"antlion_allied"$0D"suit_no_sprint"$0D
  6751.          "super_phys_gun"$0D"friendly_encounter"$0D"gordon_invulnerable"$0D"no"
  6752.          "_seagulls_on_jeep"
  6753.       }
  6754.     }
  6755.     t_BaseTank:incl =
  6756.     {
  6757.       t_Targetname = !
  6758.       t_Parentname = !
  6759.       t_Origin = !
  6760.       t_Angles = !
  6761.       t_RenderFields = !
  6762.       t_Global = !
  6763.       t_Shadow = !
  6764.       spawnflags: =
  6765.       {
  6766.         txt = "&"
  6767.         typ = "X1"
  6768.         cap = "Active"
  6769.       }
  6770.       spawnflags: =
  6771.       {
  6772.         txt = "&"
  6773.         typ = "X16"
  6774.         cap = "Only Direct"
  6775.       }
  6776.       spawnflags: =
  6777.       {
  6778.         txt = "&"
  6779.         typ = "X32"
  6780.         cap = "Controllable"
  6781.       }
  6782.       spawnflags: =
  6783.       {
  6784.         txt = "&"
  6785.         typ = "X64"
  6786.         cap = "Damage Kick"
  6787.       }
  6788.       spawnflags: =
  6789.       {
  6790.         txt = "&"
  6791.         typ = "X1024"
  6792.         cap = "NPC Controllable"
  6793.       }
  6794.       spawnflags: =
  6795.       {
  6796.         txt = "&"
  6797.         typ = "X2048"
  6798.         cap = "NPC Set Controller"
  6799.       }
  6800.       spawnflags: =
  6801.       {
  6802.         txt = "&"
  6803.         typ = "X4096"
  6804.         cap = "Allow friendlies to hit player"
  6805.       }
  6806.       spawnflags: =
  6807.       {
  6808.         txt = "&"
  6809.         typ = "X32768"
  6810.         cap = "Non-solid."
  6811.       }
  6812.       control_volume: =
  6813.       {
  6814.         txt = "&"
  6815.         hint = "Control Volume"
  6816.       }
  6817.       master: =
  6818.       {
  6819.         txt = "&"
  6820.         hint = "(Team) Master"
  6821.       }
  6822.       yawrate: =
  6823.       {
  6824.         txt = "&"
  6825.         hint = "Yaw rate"
  6826.       }
  6827.       yawrange: =
  6828.       {
  6829.         txt = "&"
  6830.         hint = "Yaw range"
  6831.       }
  6832.       yawtolerance: =
  6833.       {
  6834.         txt = "&"
  6835.         hint = "Yaw tolerance"
  6836.       }
  6837.       pitchrate: =
  6838.       {
  6839.         txt = "&"
  6840.         hint = "Pitch rate"
  6841.       }
  6842.       pitchrange: =
  6843.       {
  6844.         txt = "&"
  6845.         hint = "Pitch range"
  6846.       }
  6847.       pitchtolerance: =
  6848.       {
  6849.         txt = "&"
  6850.         hint = "Pitch tolerance"
  6851.       }
  6852.       barrel: =
  6853.       {
  6854.         txt = "&"
  6855.         hint = "Barrel Length"
  6856.       }
  6857.       barrely: =
  6858.       {
  6859.         txt = "&"
  6860.         hint = "Barrel Horizontal"
  6861.       }
  6862.       barrelz: =
  6863.       {
  6864.         txt = "&"
  6865.         hint = "Barrel Vertical"
  6866.       }
  6867.       spritesmoke: =
  6868.       {
  6869.         txt = "&"
  6870.         hint = "Smoke Sprite"
  6871.       }
  6872.       spriteflash: =
  6873.       {
  6874.         txt = "&"
  6875.         hint = "Flash Sprite"
  6876.       }
  6877.       spritescale: =
  6878.       {
  6879.         txt = "&"
  6880.         hint = "Sprite scale"
  6881.       }
  6882.       rotatestartsound: =
  6883.       {
  6884.         txt = "&"
  6885.         hint = "Rotate Start Sound"
  6886.       }
  6887.       rotatesound: =
  6888.       {
  6889.         txt = "&"
  6890.         hint = "Rotate Loop Sound"
  6891.       }
  6892.       rotatestopsound: =
  6893.       {
  6894.         txt = "&"
  6895.         hint = "Rotate Stop Sound"
  6896.       }
  6897.       firerate: =
  6898.       {
  6899.         txt = "&"
  6900.         hint = "Rate of Fire"
  6901.       }
  6902.       bullet_damage: =
  6903.       {
  6904.         txt = "&"
  6905.         hint = "Damage Per Bullet"
  6906.       }
  6907.       bullet_damage_vs_player: =
  6908.       {
  6909.         txt = "&"
  6910.         hint = "Damage Per Bullet Vs Player"
  6911.       }
  6912.       persistence: =
  6913.       {
  6914.         txt = "&"
  6915.         hint = "Firing persistence"
  6916.       }
  6917.       persistence2: =
  6918.       {
  6919.         txt = "&"
  6920.         hint = "Firing persistence2"
  6921.       }
  6922.       firespread: =
  6923.       {
  6924.         txt = "&"
  6925.         hint = "Bullet accuracy"
  6926.         typ = "C"
  6927.         items = "Perfect Shot"$0D"Small cone"$0D"Medium cone"$0D"Large cone"$0D
  6928.          "Extra-large cone"
  6929.         values = "0"$0D"1"$0D"2"$0D"3"$0D"4"
  6930.       }
  6931.       minRange: =
  6932.       {
  6933.         txt = "&"
  6934.         hint = "Minmum target range"
  6935.       }
  6936.       maxRange: =
  6937.       {
  6938.         txt = "&"
  6939.         hint = "Maximum target range"
  6940.       }
  6941.       _minlight: =
  6942.       {
  6943.         txt = "&"
  6944.         hint = "Minimum light level"
  6945.       }
  6946.       gun_base_attach: =
  6947.       {
  6948.         txt = "&"
  6949.         hint = "Gun Base Attachment"
  6950.       }
  6951.       gun_barrel_attach: =
  6952.       {
  6953.         txt = "&"
  6954.         hint = "Gun Barrel Attachment"
  6955.       }
  6956.       gun_yaw_pose_param: =
  6957.       {
  6958.         txt = "&"
  6959.         hint = "Gun Yaw Pose Param"
  6960.       }
  6961.       gun_yaw_pose_center: =
  6962.       {
  6963.         txt = "&"
  6964.         hint = "Gun Yaw Pose Center"
  6965.       }
  6966.       gun_pitch_pose_param: =
  6967.       {
  6968.         txt = "&"
  6969.         hint = "Gun Pitch Pose Param"
  6970.       }
  6971.       gun_pitch_pose_center: =
  6972.       {
  6973.         txt = "&"
  6974.         hint = "Gun Pitch Pose Center"
  6975.       }
  6976.       ammo_count: =
  6977.       {
  6978.         txt = "&"
  6979.         hint = "Ammunition Count"
  6980.       }
  6981.       LeadTarget: =
  6982.       {
  6983.         txt = "&"
  6984.         hint = "Lead Target"
  6985.         typ = "C"
  6986.         items = "No"$0D"Yes"
  6987.         values = "0"$0D"1"
  6988.       }
  6989.       npc_man_point: =
  6990.       {
  6991.         txt = "&"
  6992.         hint = "NPC Man Point"
  6993.       }
  6994.       playergraceperiod: =
  6995.       {
  6996.         txt = "&"
  6997.         hint = "Post-NPC Attack Grace Period"
  6998.       }
  6999.       ignoregraceupto: =
  7000.       {
  7001.         txt = "&"
  7002.         hint = "Ignore Grace Upto"
  7003.       }
  7004.       playerlocktimebeforefire: =
  7005.       {
  7006.         txt = "&"
  7007.         hint = "Player Lock Time"
  7008.       }
  7009.       effecthandling: =
  7010.       {
  7011.         txt = "&"
  7012.         hint = "Effect Handling"
  7013.         typ = "C"
  7014.         items = "Use Individual Settings."$0D"AR2"
  7015.         values = "0"$0D"1"
  7016.       }
  7017.       input#Activate: =
  7018.       {
  7019.         txt = "&"
  7020.         hint = "Turn the tank on"
  7021.       }
  7022.       input#Deactivate: =
  7023.       {
  7024.         txt = "&"
  7025.         hint = "Turn the tank off (go dormant)"
  7026.       }
  7027.       input#SetFireRate: =
  7028.       {
  7029.         txt = "&"
  7030.         hint = "How fast to fire (0 = don't fire)"
  7031.       }
  7032.       input#SetDamage: =
  7033.       {
  7034.         txt = "&"
  7035.         hint = "Set the Damage Per Bullet"
  7036.       }
  7037.       input#SetTargetPosition: =
  7038.       {
  7039.         txt = "&"
  7040.         hint = "World position that I should aim at"
  7041.       }
  7042.       input#SetTargetDir: =
  7043.       {
  7044.         txt = "&"
  7045.         hint = "Direction to aim at."
  7046.       }
  7047.       input#SetTargetEntityName: =
  7048.       {
  7049.         txt = "&"
  7050.         hint = "Name of entity I should follow/attack"
  7051.       }
  7052.       input#SetTargetEntity: =
  7053.       {
  7054.         txt = "&"
  7055.         hint = "Entity I should follow/attack (output from other entity only)"
  7056.       }
  7057.       input#ClearTargetEntity: =
  7058.       {
  7059.         txt = "&"
  7060.         hint = "Clear the entity I should be attacking."
  7061.       }
  7062.       input#FindNPCToManTank: =
  7063.       {
  7064.         txt = "&"
  7065.         hint = "Find a nearby NPC to man this func_tank."
  7066.       }
  7067.       input#StartFindingNPCs: =
  7068.       {
  7069.         txt = "&"
  7070.         hint = "Start searching for NPCs to man this func_tank."
  7071.       }
  7072.       input#StopFindingNPCs: =
  7073.       {
  7074.         txt = "&"
  7075.         hint = "Stop searching for NPCs to man this func_tank."
  7076.       }
  7077.       input#ForceNPCOff: =
  7078.       {
  7079.         txt = "&"
  7080.         hint = "Force the NPC manning this func_tank (if any) to leave."
  7081.       }
  7082.       input#SetMaxRange: =
  7083.       {
  7084.         txt = "&"
  7085.         hint = "Set the max range of the func_tank."
  7086.       }
  7087.       output#OnFire: =
  7088.       {
  7089.         txt = "&"
  7090.         hint = "Fires when the tank fires its bullets"
  7091.       }
  7092.       output#OnAquireTarget: =
  7093.       {
  7094.         txt = "&"
  7095.         hint = "Fires when target is newly in range and can be shot"
  7096.       }
  7097.       output#OnLoseTarget: =
  7098.       {
  7099.         txt = "&"
  7100.         hint = "Fires when when target goes out of range"
  7101.       }
  7102.       output#OnAmmoDepleted: =
  7103.       {
  7104.         txt = "&"
  7105.         hint = "Fires when tank runs out of ammo"
  7106.       }
  7107.       output#OnGotController: =
  7108.       {
  7109.         txt = "&"
  7110.         hint = "Fires when an NPC starts to control this tank. Players do NOT "
  7111.          "fire this input."
  7112.       }
  7113.       output#OnLostController: =
  7114.       {
  7115.         txt = "&"
  7116.         hint = "Fires when the NPC controller of the tank stops controlling it"
  7117.          ". Players do NOT fire this input."
  7118.       }
  7119.       output#OnGotPlayerController: =
  7120.       {
  7121.         txt = "&"
  7122.         hint = "Fires when a Player starts to control this tank. NPCs do NOT f"
  7123.          "ire this input."
  7124.       }
  7125.       output#OnLostPlayerController: =
  7126.       {
  7127.         txt = "&"
  7128.         hint = "Fires when the Player controller of the tank stops controlling"
  7129.          " it. NPCs do NOT fire this input."
  7130.       }
  7131.       output#OnReadyToFire: =
  7132.       {
  7133.         txt = "&"
  7134.         hint = "Fires once when the tank is done waiting to fire between round"
  7135.          "s"
  7136.       }
  7137.     }
  7138.     func_tank:form =
  7139.     {
  7140.       t_BaseTank = !
  7141.       bullet: =
  7142.       {
  7143.         txt = "&"
  7144.         hint = "Bullets"
  7145.         typ = "C"
  7146.         items = "None"$0D"Pistol"$0D"SMG1"$0D"AR2"$0D"Laser"
  7147.         values = "0"$0D"1"$0D"2"$0D"3"$0D"4"
  7148.       }
  7149.       spawnflags: =
  7150.       {
  7151.         txt = "&"
  7152.         typ = "X8192"
  7153.         cap = "Ignore range when making viewcone checks"
  7154.       }
  7155.       spawnflags: =
  7156.       {
  7157.         txt = "&"
  7158.         typ = "X256"
  7159.         cap = "Aiming Assistance (Player Only)"
  7160.       }
  7161.     }
  7162.     func_tankpulselaser:form =
  7163.     {
  7164.       t_BaseTank = !
  7165.       PulseSpeed: =
  7166.       {
  7167.         txt = "&"
  7168.         hint = "Pulse Speed"
  7169.       }
  7170.       PulseColor: =
  7171.       {
  7172.         txt = "&"
  7173.         hint = "Pulse Color"
  7174.       }
  7175.       PulseWidth: =
  7176.       {
  7177.         txt = "&"
  7178.         hint = "Pulse Width"
  7179.       }
  7180.       PulseLife: =
  7181.       {
  7182.         txt = "&"
  7183.         hint = "Pulse Life"
  7184.       }
  7185.       PulseLag: =
  7186.       {
  7187.         txt = "&"
  7188.         hint = "Pulse Lag"
  7189.       }
  7190.       PulseFireSound: =
  7191.       {
  7192.         txt = "&"
  7193.         hint = "Pulse Fire Sound"
  7194.       }
  7195.     }
  7196.     func_tanklaser:form =
  7197.     {
  7198.       t_BaseTank = !
  7199.       laserentity: =
  7200.       {
  7201.         txt = "&"
  7202.         hint = "env_laser Entity"
  7203.       }
  7204.     }
  7205.     func_tankrocket:form =
  7206.     {
  7207.       t_BaseTank = !
  7208.       rocketspeed: =
  7209.       {
  7210.         txt = "&"
  7211.         hint = "Projectile speed"
  7212.       }
  7213.     }
  7214.     func_tankairboatgun:form =
  7215.     {
  7216.       t_BaseTank = !
  7217.       airboat_gun_model: =
  7218.       {
  7219.         txt = "&"
  7220.         hint = "Name of a prop_dynamic which is the airboat gun model"
  7221.       }
  7222.     }
  7223.     func_tankapcrocket:form =
  7224.     {
  7225.       t_BaseTank = !
  7226.       rocketspeed: =
  7227.       {
  7228.         txt = "&"
  7229.         hint = "Projectile speed"
  7230.       }
  7231.       burstcount: =
  7232.       {
  7233.         txt = "&"
  7234.         hint = "Burst shot count"
  7235.       }
  7236.       input#DeathVolley: =
  7237.       {
  7238.         txt = "&"
  7239.         hint = "Fire a burst of rockets cause we're dying."
  7240.       }
  7241.     }
  7242.     func_tankmortar:form =
  7243.     {
  7244.       t_BaseTank = !
  7245.       iMagnitude: =
  7246.       {
  7247.         txt = "&"
  7248.         hint = "Explosion Magnitude"
  7249.       }
  7250.       firedelay: =
  7251.       {
  7252.         txt = "&"
  7253.         hint = "Shell travel time"
  7254.       }
  7255.       firestartsound: =
  7256.       {
  7257.         txt = "&"
  7258.         hint = "Firing start sound"
  7259.       }
  7260.       fireendsound: =
  7261.       {
  7262.         txt = "&"
  7263.         hint = "Firing end sound"
  7264.       }
  7265.       incomingsound: =
  7266.       {
  7267.         txt = "&"
  7268.         hint = "Incoming Shell Sound"
  7269.       }
  7270.       warningtime: =
  7271.       {
  7272.         txt = "&"
  7273.         hint = "Incoming warning time"
  7274.       }
  7275.       firevariance: =
  7276.       {
  7277.         txt = "&"
  7278.         hint = "Fire time variance"
  7279.       }
  7280.       input#FireAtWill: =
  7281.       {
  7282.         txt = "&"
  7283.         hint = "Allow tank to fire next shot as soon as ready."
  7284.       }
  7285.     }
  7286.     func_tankphyscannister:form =
  7287.     {
  7288.       t_BaseTank = !
  7289.       barrel_volume: =
  7290.       {
  7291.         txt = "&"
  7292.         hint = "Barrel Volume"
  7293.       }
  7294.     }
  7295.     t_Item:incl =
  7296.     {
  7297.       t_Targetname = !
  7298.       t_Angles = !
  7299.       t_Shadow = !
  7300.       output#OnPlayerTouch: =
  7301.       {
  7302.         txt = "&"
  7303.         hint = "Fires when the player touches this object"
  7304.       }
  7305.     }
  7306.     item_dynamic_resupply:form =
  7307.     {
  7308.       t_Item = !
  7309.       spawnflags: =
  7310.       {
  7311.         txt = "&"
  7312.         typ = "X1"
  7313.         cap = "Use Master's values"
  7314.       }
  7315.       spawnflags: =
  7316.       {
  7317.         txt = "&"
  7318.         typ = "X2"
  7319.         cap = "Is Master"
  7320.       }
  7321.       DesiredHealth: =
  7322.       {
  7323.         txt = "&"
  7324.         hint = "Desired Health Ratio"
  7325.       }
  7326.       DesiredArmor: =
  7327.       {
  7328.         txt = "&"
  7329.         hint = "Desired Armor Ratio"
  7330.       }
  7331.       DesiredAmmoPistol: =
  7332.       {
  7333.         txt = "&"
  7334.         hint = "Desired Pistol Ammo Ratio"
  7335.       }
  7336.       DesiredAmmoSMG1: =
  7337.       {
  7338.         txt = "&"
  7339.         hint = "Desired SMG1 Ammo Ratio"
  7340.       }
  7341.       DesiredAmmoSMG1_Grenade: =
  7342.       {
  7343.         txt = "&"
  7344.         hint = "Desired SMG1 Grenade Ammo Ratio"
  7345.       }
  7346.       DesiredAmmoAR2: =
  7347.       {
  7348.         txt = "&"
  7349.         hint = "Desired AR2 Ammo Ratio"
  7350.       }
  7351.       DesiredAmmoBuckshot: =
  7352.       {
  7353.         txt = "&"
  7354.         hint = "Desired Shotgun Ammo Ratio"
  7355.       }
  7356.       DesiredAmmoRPG_Round: =
  7357.       {
  7358.         txt = "&"
  7359.         hint = "Desired RPG Ammo Ratio"
  7360.       }
  7361.       DesiredAmmoGrenade: =
  7362.       {
  7363.         txt = "&"
  7364.         hint = "Desired Grenade Ammo Ratio"
  7365.       }
  7366.       DesiredAmmo357: =
  7367.       {
  7368.         txt = "&"
  7369.         hint = "Desired 357 Ammo Ratio"
  7370.       }
  7371.       DesiredAmmoCrossbow: =
  7372.       {
  7373.         txt = "&"
  7374.         hint = "Desired Crossbow Ammo Ratio"
  7375.       }
  7376.       input#CalculateType: =
  7377.       {
  7378.         txt = "&"
  7379.         hint = "Force the dynamic resupply to calculate which item it should s"
  7380.          "pawn."
  7381.       }
  7382.       input#BecomeMaster: =
  7383.       {
  7384.         txt = "&"
  7385.         hint = "Make this resupply the master resupply. All other resupplies s"
  7386.          "et to Use Master's Values will now use this resupply's values."
  7387.       }
  7388.     }
  7389.     item_ammo_pistol:form =
  7390.     {
  7391.       t_Item = !
  7392.     }
  7393.     item_ammo_pistol_large:form =
  7394.     {
  7395.       t_Item = !
  7396.     }
  7397.     item_ammo_smg1:form =
  7398.     {
  7399.       t_Item = !
  7400.     }
  7401.     item_ammo_smg1_large:form =
  7402.     {
  7403.       t_Item = !
  7404.     }
  7405.     item_ammo_ar2:form =
  7406.     {
  7407.       t_Item = !
  7408.     }
  7409.     item_ammo_ar2_large:form =
  7410.     {
  7411.       t_Item = !
  7412.     }
  7413.     item_ammo_357:form =
  7414.     {
  7415.       t_Item = !
  7416.     }
  7417.     item_ammo_357_large:form =
  7418.     {
  7419.       t_Item = !
  7420.     }
  7421.     item_ammo_crossbow:form =
  7422.     {
  7423.       t_Item = !
  7424.     }
  7425.     item_box_buckshot:form =
  7426.     {
  7427.       t_Item = !
  7428.     }
  7429.     item_rpg_round:form =
  7430.     {
  7431.       t_Item = !
  7432.     }
  7433.     item_ammo_smg1_grenade:form =
  7434.     {
  7435.       t_Item = !
  7436.     }
  7437.     item_battery:form =
  7438.     {
  7439.       t_Item = !
  7440.     }
  7441.     item_healthkit:form =
  7442.     {
  7443.       t_Item = !
  7444.     }
  7445.     item_healthvial:form =
  7446.     {
  7447.       t_Item = !
  7448.     }
  7449.     item_ammo_ar2_altfire:form =
  7450.     {
  7451.       t_Item = !
  7452.     }
  7453.     item_suit:form =
  7454.     {
  7455.       t_Item = !
  7456.       spawnflags: =
  7457.       {
  7458.         txt = "&"
  7459.         typ = "X1"
  7460.         cap = "Short Logon"
  7461.       }
  7462.     }
  7463.     item_ammo_crate:form =
  7464.     {
  7465.       t_Targetname = !
  7466.       t_Angles = !
  7467.       AmmoType: =
  7468.       {
  7469.         txt = "&"
  7470.         hint = "Ammo Type"
  7471.         typ = "C"
  7472.         items = "Pistol"$0D"SMG1"$0D"AR2"$0D"RPG Rounds"$0D"Buckshot"$0D"Grena"
  7473.          "des"$0D"357"$0D"XBowBolt"$0D"AR2 Alt-Fire Round"
  7474.         values = "0"$0D"1"$0D"2"$0D"3"$0D"4"$0D"5"$0D"6"$0D"7"$0D"8"
  7475.       }
  7476.       input#Kill: =
  7477.       {
  7478.         txt = "&"
  7479.         hint = "Remove the ammo crate"
  7480.       }
  7481.       output#OnUsed: =
  7482.       {
  7483.         txt = "&"
  7484.         hint = "Fires when +used by the player."
  7485.       }
  7486.     }
  7487.     item_item_crate:form =
  7488.     {
  7489.       t_BasePropPhysics = !
  7490.       t_Targetname = !
  7491.       t_Angles = !
  7492.       t_DamageFilter = !
  7493.       CrateType: =
  7494.       {
  7495.         txt = "&"
  7496.         hint = "Crate Contains"
  7497.         typ = "C"
  7498.         items = "Contains specified item"
  7499.         values = "0"
  7500.       }
  7501.       ItemClass: =
  7502.       {
  7503.         txt = "&"
  7504.         hint = "Item Type"
  7505.       }
  7506.       ItemCount: =
  7507.       {
  7508.         txt = "&"
  7509.         hint = "Item Count"
  7510.       }
  7511.       input#Kill: =
  7512.       {
  7513.         txt = "&"
  7514.         hint = "Remove the item crate"
  7515.       }
  7516.       input#Break: =
  7517.       {
  7518.         txt = "&"
  7519.         hint = "Breaks the breakable."
  7520.       }
  7521.       input#SetHealth: =
  7522.       {
  7523.         txt = "&"
  7524.         hint = "Sets a new value for health. If the breakable's health reaches"
  7525.          " zero it will break."
  7526.       }
  7527.       input#AddHealth: =
  7528.       {
  7529.         txt = "&"
  7530.         hint = "Adds health to the breakable. If the breakable's health reache"
  7531.          "s zero it will break."
  7532.       }
  7533.       input#RemoveHealth: =
  7534.       {
  7535.         txt = "&"
  7536.         hint = "Removes health from the breakable. If the breakable's health r"
  7537.          "eaches zero it will break."
  7538.       }
  7539.       output#OnBreak: =
  7540.       {
  7541.         txt = "&"
  7542.         hint = "Fires when broken."
  7543.       }
  7544.       output#OnHealthChanged: =
  7545.       {
  7546.         txt = "&"
  7547.         hint = "Fires when the health of this breakable changes, passing the n"
  7548.          "ew value of health as a percentage of max health, from [0..1]."
  7549.       }
  7550.     }
  7551.     item_healthcharger:form =
  7552.     {
  7553.       t_Targetname = !
  7554.       t_Angles = !
  7555.       _minlight: =
  7556.       {
  7557.         txt = "&"
  7558.         hint = "Minimum light level"
  7559.       }
  7560.       output#OutRemainingHealth: =
  7561.       {
  7562.         txt = "&"
  7563.         hint = "Remaining Health."
  7564.       }
  7565.       output#OnPlayerUse: =
  7566.       {
  7567.         txt = "&"
  7568.         hint = "Fired when the player +USEs the charger."
  7569.       }
  7570.     }
  7571.     item_suitcharger:form =
  7572.     {
  7573.       t_Targetname = !
  7574.       t_Angles = !
  7575.       _minlight: =
  7576.       {
  7577.         txt = "&"
  7578.         hint = "Minimum light level"
  7579.       }
  7580.       spawnflags: =
  7581.       {
  7582.         txt = "&"
  7583.         typ = "X8192"
  7584.         cap = "Citadel recharger"
  7585.       }
  7586.       spawnflags: =
  7587.       {
  7588.         txt = "&"
  7589.         typ = "X16384"
  7590.         cap = "Kleiner's recharger"
  7591.       }
  7592.       input#Recharge: =
  7593.       {
  7594.         txt = "&"
  7595.         hint = "Recharge to full"
  7596.       }
  7597.       output#OutRemainingCharge: =
  7598.       {
  7599.         txt = "&"
  7600.         hint = "Remaining Charge."
  7601.       }
  7602.       output#OnHalfEmpty: =
  7603.       {
  7604.         txt = "&"
  7605.         hint = "Half-Empty"
  7606.       }
  7607.       output#OnEmpty: =
  7608.       {
  7609.         txt = "&"
  7610.         hint = "Empty"
  7611.       }
  7612.       output#OnFull: =
  7613.       {
  7614.         txt = "&"
  7615.         hint = "Recharged to full."
  7616.       }
  7617.       output#OnPlayerUse: =
  7618.       {
  7619.         txt = "&"
  7620.         hint = "Fired when the player +USEs the charger."
  7621.       }
  7622.     }
  7623.     t_Weapon:incl =
  7624.     {
  7625.       t_Targetname = !
  7626.       t_Angles = !
  7627.       spawnflags: =
  7628.       {
  7629.         txt = "&"
  7630.         typ = "X1"
  7631.         cap = "Start constrained"
  7632.       }
  7633.       output#OnPlayerUse: =
  7634.       {
  7635.         txt = "&"
  7636.         hint = "Fires when the player +uses this weapon"
  7637.       }
  7638.       output#OnPlayerPickup: =
  7639.       {
  7640.         txt = "&"
  7641.         hint = "Fires when the player picks up this weapon"
  7642.       }
  7643.       output#OnNPCPickup: =
  7644.       {
  7645.         txt = "&"
  7646.         hint = "Fires when an NPC picks up this weapon"
  7647.       }
  7648.     }
  7649.     weapon_crowbar:form =
  7650.     {
  7651.       t_Weapon = !
  7652.     }
  7653.     weapon_stunstick:form =
  7654.     {
  7655.       t_Weapon = !
  7656.     }
  7657.     weapon_pistol:form =
  7658.     {
  7659.       t_Weapon = !
  7660.     }
  7661.     weapon_ar2:form =
  7662.     {
  7663.       t_Weapon = !
  7664.     }
  7665.     weapon_rpg:form =
  7666.     {
  7667.       t_Weapon = !
  7668.     }
  7669.     weapon_smg1:form =
  7670.     {
  7671.       t_Weapon = !
  7672.     }
  7673.     weapon_357:form =
  7674.     {
  7675.       t_Weapon = !
  7676.     }
  7677.     weapon_crossbow:form =
  7678.     {
  7679.       t_Weapon = !
  7680.     }
  7681.     weapon_shotgun:form =
  7682.     {
  7683.       t_Weapon = !
  7684.     }
  7685.     weapon_frag:form =
  7686.     {
  7687.       t_Weapon = !
  7688.     }
  7689.     weapon_physcannon:form =
  7690.     {
  7691.       t_Weapon = !
  7692.       spawnflags: =
  7693.       {
  7694.         txt = "&"
  7695.         typ = "X2"
  7696.         cap = "Start without grab functionality."
  7697.       }
  7698.       input#EnableGrab: =
  7699.       {
  7700.         txt = "&"
  7701.         hint = "Enable the grab functionality."
  7702.       }
  7703.     }
  7704.     weapon_bugbait:form =
  7705.     {
  7706.       t_Weapon = !
  7707.     }
  7708.     weapon_alyxgun:form =
  7709.     {
  7710.       t_Weapon = !
  7711.     }
  7712.     weapon_annabelle:form =
  7713.     {
  7714.       t_Weapon = !
  7715.     }
  7716.     trigger_rpgfire:form =
  7717.     {
  7718.       t_Trigger = !
  7719.       output#OnTrigger: =
  7720.       {
  7721.         txt = "&"
  7722.         hint = "Fires while the trigger is activated"
  7723.       }
  7724.     }
  7725.     trigger_vphysics_motion:form =
  7726.     {
  7727.       t_Trigger = !
  7728.       spawnflags: =
  7729.       {
  7730.         txt = "&"
  7731.         typ = "X4096"
  7732.         cap = "Can move (through hierarchical attachment)"
  7733.       }
  7734.       StartDisabled: =
  7735.       {
  7736.         txt = "&"
  7737.         hint = "Start Disabled"
  7738.         typ = "C"
  7739.         items = "No"$0D"Yes"
  7740.         values = "0"$0D"1"
  7741.       }
  7742.       filtername: =
  7743.       {
  7744.         txt = "&"
  7745.         hint = "Filter Name"
  7746.       }
  7747.       SetGravityScale: =
  7748.       {
  7749.         txt = "&"
  7750.         hint = "Scale gravity of objects in the field."
  7751.       }
  7752.       input#SetGravityScale: =
  7753.       {
  7754.         txt = "&"
  7755.         hint = "Scale gravity of objects in the field."
  7756.       }
  7757.       SetAdditionalAirDensity: =
  7758.       {
  7759.         txt = "&"
  7760.         hint = "Additional air density for drag"
  7761.       }
  7762.       input#SetAdditionalAirDensity: =
  7763.       {
  7764.         txt = "&"
  7765.         hint = "Additional air density for drag"
  7766.       }
  7767.       SetVelocityLimit: =
  7768.       {
  7769.         txt = "&"
  7770.         hint = "Max velocity in field (0 disables)"
  7771.       }
  7772.       input#SetVelocityLimit: =
  7773.       {
  7774.         txt = "&"
  7775.         hint = "Max velocity in field."
  7776.       }
  7777.       SetVelocityLimitDelta: =
  7778.       {
  7779.         txt = "&"
  7780.         hint = "Max amount to reduce velocity per second when it exceeds the v"
  7781.          "elocity limit (0 disables)"
  7782.       }
  7783.       input#SetVelocityLimitDelta: =
  7784.       {
  7785.         txt = "&"
  7786.         hint = "Max amount to reduce velocity per second"
  7787.       }
  7788.       input#SetVelocityLimitTime: =
  7789.       {
  7790.         txt = "&"
  7791.         hint = "Accepts two arguments: the first is the new velocity limit, th"
  7792.          "e second is the time it takes to ramp to that value"
  7793.       }
  7794.       SetVelocityScale: =
  7795.       {
  7796.         txt = "&"
  7797.         hint = "Velocity scale/drag"
  7798.       }
  7799.       input#SetVelocityScale: =
  7800.       {
  7801.         txt = "&"
  7802.         hint = "Velocity scale/drag"
  7803.       }
  7804.       SetAngVelocityLimit: =
  7805.       {
  7806.         txt = "&"
  7807.         hint = "Max angular velocity in field (degrees/s, 0 disables)"
  7808.       }
  7809.       input#SetAngVelocityLimit: =
  7810.       {
  7811.         txt = "&"
  7812.         hint = "Max angular velocity in field."
  7813.       }
  7814.       SetAngVelocityScale: =
  7815.       {
  7816.         txt = "&"
  7817.         hint = "Angular Velocity scale/drag"
  7818.       }
  7819.       input#SetAngVelocityScale: =
  7820.       {
  7821.         txt = "&"
  7822.         hint = "Angular Velocity scale/drag"
  7823.       }
  7824.       SetLinearForce: =
  7825.       {
  7826.         txt = "&"
  7827.         hint = "Linear force (0 disables)"
  7828.       }
  7829.       input#SetLinearForce: =
  7830.       {
  7831.         txt = "&"
  7832.         hint = "Linear force (0 disables)"
  7833.       }
  7834.       SetLinearForceAngles: =
  7835.       {
  7836.         txt = "&"
  7837.         hint = "Direction of linear force (Pitch Yaw Roll (Y Z X))"
  7838.       }
  7839.       ParticleTrailMaterial: =
  7840.       {
  7841.         txt = "&"
  7842.         hint = "Particle Trail Material"
  7843.       }
  7844.       ParticleTrailLifetime: =
  7845.       {
  7846.         txt = "&"
  7847.         hint = "Particle Trail Lifetime"
  7848.       }
  7849.       ParticleTrailStartSize: =
  7850.       {
  7851.         txt = "&"
  7852.         hint = "Particle Trail Starting Sprite Size"
  7853.       }
  7854.       ParticleTrailEndSize: =
  7855.       {
  7856.         txt = "&"
  7857.         hint = "Particle Trail Ending Sprite Size"
  7858.       }
  7859.       input#Enable: =
  7860.       {
  7861.         txt = "&"
  7862.         hint = "Enable the trigger."
  7863.       }
  7864.       input#Disable: =
  7865.       {
  7866.         txt = "&"
  7867.         hint = "Disable the trigger."
  7868.       }
  7869.       input#Toggle: =
  7870.       {
  7871.         txt = "&"
  7872.         hint = "Toggle enable/disable."
  7873.       }
  7874.     }
  7875.     point_bugbait:form =
  7876.     {
  7877.       t_Targetname = !
  7878.       Enabled: =
  7879.       {
  7880.         txt = "&"
  7881.         hint = "Start Enabled"
  7882.         typ = "C"
  7883.         items = "No"$0D"Yes"
  7884.         values = "0"$0D"1"
  7885.       }
  7886.       spawnflags: =
  7887.       {
  7888.         txt = "&"
  7889.         typ = "X1"
  7890.         cap = "Do not call antlions to position"
  7891.       }
  7892.       spawnflags: =
  7893.       {
  7894.         txt = "&"
  7895.         typ = "X2"
  7896.         cap = "Don't activate on thrown bugbait splashes"
  7897.       }
  7898.       spawnflags: =
  7899.       {
  7900.         txt = "&"
  7901.         typ = "X4"
  7902.         cap = "Don't activate on squeezed bugbait"
  7903.       }
  7904.       radius: =
  7905.       {
  7906.         txt = "&"
  7907.         hint = "Sensor Radius"
  7908.       }
  7909.       input#Enable: =
  7910.       {
  7911.         txt = "&"
  7912.         hint = "Enable the sensor."
  7913.       }
  7914.       input#Disable: =
  7915.       {
  7916.         txt = "&"
  7917.         hint = "Disable the sensor."
  7918.       }
  7919.       input#Toggle: =
  7920.       {
  7921.         txt = "&"
  7922.         hint = "Toggle the sensor."
  7923.       }
  7924.       output#OnBaited: =
  7925.       {
  7926.         txt = "&"
  7927.         hint = "Fires when bugbait lands within a radius of the sensor"
  7928.       }
  7929.     }
  7930.     weapon_brickbat:form =
  7931.     {
  7932.       t_Weapon = !
  7933.       BrickbatType: =
  7934.       {
  7935.         txt = "&"
  7936.         hint = "BrickbatType"
  7937.         typ = "C"
  7938.         items = "Rock"$0D"Beer Bottle"$0D"Headcrab"$0D"Cremator Head"
  7939.         values = "0"$0D"1"$0D"2"$0D"3"
  7940.       }
  7941.     }
  7942.     path_corner:form =
  7943.     {
  7944.       t_Targetname = !
  7945.       t_Angles = !
  7946.       spawnflags: =
  7947.       {
  7948.         txt = "&"
  7949.         typ = "X1"
  7950.         cap = "Wait for retrigger"
  7951.       }
  7952.       spawnflags: =
  7953.       {
  7954.         txt = "&"
  7955.         typ = "X2"
  7956.         cap = "Teleport to THIS path_corner"
  7957.       }
  7958.       target: =
  7959.       {
  7960.         txt = "&"
  7961.         hint = "Next stop target"
  7962.       }
  7963.       wait: =
  7964.       {
  7965.         txt = "&"
  7966.         hint = "Wait here (secs)"
  7967.       }
  7968.       speed: =
  7969.       {
  7970.         txt = "&"
  7971.         hint = "New Train Speed"
  7972.       }
  7973.       yaw_speed: =
  7974.       {
  7975.         txt = "&"
  7976.         hint = "New Train rot. Speed"
  7977.       }
  7978.       input#SetNextPathCorner: =
  7979.       {
  7980.         txt = "&"
  7981.         hint = "Sets next pathcorner"
  7982.       }
  7983.       output#OnPass: =
  7984.       {
  7985.         txt = "&"
  7986.         hint = "Fires when a path follower passes this point"
  7987.       }
  7988.     }
  7989.     path_corner_crash:form =
  7990.     {
  7991.       t_Targetname = !
  7992.       target: =
  7993.       {
  7994.         txt = "&"
  7995.         hint = "Next stop target"
  7996.       }
  7997.     }
  7998.     player_loadsaved:form =
  7999.     {
  8000.       bbox = '-16 -16 -16 16 16 16'
  8001.       t_Targetname = !
  8002.       duration: =
  8003.       {
  8004.         txt = "&"
  8005.         hint = "Fade Duration (seconds)"
  8006.       }
  8007.       holdtime: =
  8008.       {
  8009.         txt = "&"
  8010.         hint = "Hold Fade (seconds)"
  8011.       }
  8012.       renderamt: =
  8013.       {
  8014.         txt = "&"
  8015.         hint = "Fade Alpha"
  8016.       }
  8017.       rendercolor: =
  8018.       {
  8019.         txt = "&"
  8020.         hint = "Fade Color (R G B)"
  8021.       }
  8022.       loadtime: =
  8023.       {
  8024.         txt = "&"
  8025.         hint = "Reload delay"
  8026.       }
  8027.       input#Reload: =
  8028.       {
  8029.         txt = "&"
  8030.         hint = "Ends this game and reloads"
  8031.       }
  8032.     }
  8033.     player_weaponstrip:form =
  8034.     {
  8035.       bbox = '-16 -16 -16 16 16 16'
  8036.       t_Targetname = !
  8037.       input#Strip: =
  8038.       {
  8039.         txt = "&"
  8040.         hint = "Strip player's weapons"
  8041.       }
  8042.       input#StripWeaponsAndSuit: =
  8043.       {
  8044.         txt = "&"
  8045.         hint = "Strip player's weapons and his suit"
  8046.       }
  8047.     }
  8048.     player_speedmod:form =
  8049.     {
  8050.       bbox = '-16 -16 -16 16 16 16'
  8051.       t_Targetname = !
  8052.       input#ModifySpeed: =
  8053.       {
  8054.         txt = "&"
  8055.         hint = "Modifies player speed by X ammount."
  8056.       }
  8057.     }
  8058.     logic_choreographed_scene:form =
  8059.     {
  8060.       t_Targetname = !
  8061.       SceneFile: =
  8062.       {
  8063.         txt = "&"
  8064.         hint = "Scene file"
  8065.       }
  8066.       target1: =
  8067.       {
  8068.         txt = "&"
  8069.         hint = "Target 1"
  8070.       }
  8071.       target2: =
  8072.       {
  8073.         txt = "&"
  8074.         hint = "Target 2"
  8075.       }
  8076.       target3: =
  8077.       {
  8078.         txt = "&"
  8079.         hint = "Target 3"
  8080.       }
  8081.       target4: =
  8082.       {
  8083.         txt = "&"
  8084.         hint = "Target 4"
  8085.       }
  8086.       target5: =
  8087.       {
  8088.         txt = "&"
  8089.         hint = "Target 5"
  8090.       }
  8091.       target6: =
  8092.       {
  8093.         txt = "&"
  8094.         hint = "Target 6"
  8095.       }
  8096.       target7: =
  8097.       {
  8098.         txt = "&"
  8099.         hint = "Target 7"
  8100.       }
  8101.       target8: =
  8102.       {
  8103.         txt = "&"
  8104.         hint = "Target 8"
  8105.       }
  8106.       busyactor: =
  8107.       {
  8108.         txt = "&"
  8109.         hint = "If an Actor is talking..."
  8110.         typ = "C"
  8111.         items = "Default"$0D"Wait for actor to finish"
  8112.         values = "0"$0D"1"
  8113.       }
  8114.       input#Start: =
  8115.       {
  8116.         txt = "&"
  8117.         hint = "Starts playback of the scene file"
  8118.       }
  8119.       input#Pause: =
  8120.       {
  8121.         txt = "&"
  8122.         hint = "Pauses playback of the scene file"
  8123.       }
  8124.       input#Resume: =
  8125.       {
  8126.         txt = "&"
  8127.         hint = "Resumes playback of the scene if it has been paused"
  8128.       }
  8129.       input#Cancel: =
  8130.       {
  8131.         txt = "&"
  8132.         hint = "Cancels playback of the scene"
  8133.       }
  8134.       input#InterjectResponse: =
  8135.       {
  8136.         txt = "&"
  8137.         hint = "Finds an actor who can respond to the specified concept string"
  8138.          " while the scene continues playing"
  8139.       }
  8140.       input#StopWaitingForActor: =
  8141.       {
  8142.         txt = "&"
  8143.         hint = "Stop waiting on an actor to stop talking."
  8144.       }
  8145.       output#OnStart: =
  8146.       {
  8147.         txt = "&"
  8148.         hint = "The scene has started"
  8149.       }
  8150.       output#OnCompletion: =
  8151.       {
  8152.         txt = "&"
  8153.         hint = "The scene has completed"
  8154.       }
  8155.       output#OnCanceled: =
  8156.       {
  8157.         txt = "&"
  8158.         hint = "The scene has been canceled"
  8159.       }
  8160.       output#OnTrigger1: =
  8161.       {
  8162.         txt = "&"
  8163.         hint = "Scene trigger 1"
  8164.       }
  8165.       output#OnTrigger2: =
  8166.       {
  8167.         txt = "&"
  8168.         hint = "Scene trigger 2"
  8169.       }
  8170.       output#OnTrigger3: =
  8171.       {
  8172.         txt = "&"
  8173.         hint = "Scene trigger 3"
  8174.       }
  8175.       output#OnTrigger4: =
  8176.       {
  8177.         txt = "&"
  8178.         hint = "Scene trigger 4"
  8179.       }
  8180.       output#OnTrigger5: =
  8181.       {
  8182.         txt = "&"
  8183.         hint = "Scene trigger 5"
  8184.       }
  8185.       output#OnTrigger6: =
  8186.       {
  8187.         txt = "&"
  8188.         hint = "Scene trigger 6"
  8189.       }
  8190.       output#OnTrigger7: =
  8191.       {
  8192.         txt = "&"
  8193.         hint = "Scene trigger 7"
  8194.       }
  8195.       output#OnTrigger8: =
  8196.       {
  8197.         txt = "&"
  8198.         hint = "Scene trigger 8"
  8199.       }
  8200.     }
  8201.     ai_sound:form =
  8202.     {
  8203.       t_Targetname = !
  8204.       t_Parentname = !
  8205.       input#InsertSound: =
  8206.       {
  8207.         txt = "&"
  8208.         hint = "Insert a sound in the AI sound list"
  8209.       }
  8210.       soundtype: =
  8211.       {
  8212.         txt = "&"
  8213.         hint = "Sound Type"
  8214.         typ = "C"
  8215.         items = "Combat"$0D"World"$0D"Danger"$0D"Bullet Impact"$0D"Carcass"$0D
  8216.          "Meat"$0D"Garbage"$0D"Thumper"$0D"Readiness - Low"$0D"Readiness - Med"
  8217.          "ium"$0D"Readiness - High"
  8218.         values = "1"$0D"2"$0D"8"$0D"16"$0D"32"$0D"64"$0D"128"$0D"256"$0D"16384"
  8219.          $0D"32768"$0D"65536"
  8220.       }
  8221.       locationproxy: =
  8222.       {
  8223.         txt = "&"
  8224.         hint = "Location Proxy"
  8225.       }
  8226.     }
  8227.     env_rotorwash:form =
  8228.     {
  8229.       bbox = '-4 -4 -4 4 4 4'
  8230.       t_Targetname = !
  8231.       t_Parentname = !
  8232.       spawnflags: =
  8233.       {
  8234.         txt = "&"
  8235.         typ = "X1"
  8236.         cap = "Ignore solid"
  8237.       }
  8238.       input#DoEffect: =
  8239.       {
  8240.         txt = "&"
  8241.         hint = "Make a rotor puff"
  8242.       }
  8243.     }
  8244.     combine_mine:form =
  8245.     {
  8246.       bbox = '-4 -4 -4 4 4 4'
  8247.       t_Targetname = !
  8248.       t_Parentname = !
  8249.       bounce: =
  8250.       {
  8251.         txt = "&"
  8252.         hint = "Bounce"
  8253.         typ = "C"
  8254.         items = "No"$0D"Yes"
  8255.         values = "0"$0D"1"
  8256.       }
  8257.       LockSilently: =
  8258.       {
  8259.         txt = "&"
  8260.         hint = "Lock Silently"
  8261.         typ = "C"
  8262.         items = "No"$0D"Yes"
  8263.         values = "0"$0D"1"
  8264.       }
  8265.       StartDisarmed: =
  8266.       {
  8267.         txt = "&"
  8268.         hint = "Start Disarmed"
  8269.         typ = "C"
  8270.         items = "No"$0D"Yes"
  8271.         values = "0"$0D"1"
  8272.       }
  8273.       input#Disarm: =
  8274.       {
  8275.         txt = "&"
  8276.         hint = "Disarm this mine (open hooks and shut off) if not placed by pl"
  8277.          "ayer."
  8278.       }
  8279.       output#OnPulledUp: =
  8280.       {
  8281.         txt = "&"
  8282.         hint = "Fires when this mine is uprooted with physgun"
  8283.       }
  8284.     }
  8285.     env_ar2explosion:form =
  8286.     {
  8287.       bbox = '-4 -4 -4 4 4 4'
  8288.       t_Targetname = !
  8289.       t_Parentname = !
  8290.       input#Explode: =
  8291.       {
  8292.         txt = "&"
  8293.         hint = "Make the explosion effect."
  8294.       }
  8295.       material: =
  8296.       {
  8297.         txt = "&"
  8298.         hint = "Particle Material"
  8299.         typ = "ET"
  8300.         Cap = "texture..."
  8301.       }
  8302.     }
  8303.     env_starfield:form =
  8304.     {
  8305.       bbox = '-4 -4 -4 4 4 4'
  8306.       t_Targetname = !
  8307.       input#TurnOn: =
  8308.       {
  8309.         txt = "&"
  8310.         hint = "Turn on"
  8311.       }
  8312.       input#TurnOff: =
  8313.       {
  8314.         txt = "&"
  8315.         hint = "Turn off"
  8316.       }
  8317.       input#SetDensity: =
  8318.       {
  8319.         txt = "&"
  8320.         hint = "Set the density of the starfield. It's a multiplier, so 1 is t"
  8321.          "he default."
  8322.       }
  8323.     }
  8324.     env_flare:form =
  8325.     {
  8326.       bbox = '-4 -4 -4 4 4 4'
  8327.       t_Targetname = !
  8328.       t_Parentname = !
  8329.       t_Angles = !
  8330.       scale: =
  8331.       {
  8332.         txt = "&"
  8333.         hint = "Scale"
  8334.       }
  8335.       duration: =
  8336.       {
  8337.         txt = "&"
  8338.         hint = "Duration"
  8339.       }
  8340.       spawnflags: =
  8341.       {
  8342.         txt = "&"
  8343.         typ = "X1"
  8344.         cap = "No DLight"
  8345.       }
  8346.       spawnflags: =
  8347.       {
  8348.         txt = "&"
  8349.         typ = "X2"
  8350.         cap = "No Smoke"
  8351.       }
  8352.       spawnflags: =
  8353.       {
  8354.         txt = "&"
  8355.         typ = "X4"
  8356.         cap = "Infinite"
  8357.       }
  8358.       spawnflags: =
  8359.       {
  8360.         txt = "&"
  8361.         typ = "X8"
  8362.         cap = "Start off"
  8363.       }
  8364.       input#Start: =
  8365.       {
  8366.         txt = "&"
  8367.         hint = "Start"
  8368.       }
  8369.       input#Die: =
  8370.       {
  8371.         txt = "&"
  8372.         hint = "Die"
  8373.       }
  8374.       input#Launch: =
  8375.       {
  8376.         txt = "&"
  8377.         hint = "Launch the flare forward with the specified speed."
  8378.       }
  8379.     }
  8380.     env_muzzleflash:form =
  8381.     {
  8382.       t_Targetname = !
  8383.       t_Parentname = !
  8384.       t_Angles = !
  8385.       parentattachment: =
  8386.       {
  8387.         txt = "&"
  8388.         hint = "Parent Attachment"
  8389.       }
  8390.       scale: =
  8391.       {
  8392.         txt = "&"
  8393.         hint = "Scale"
  8394.       }
  8395.       input#Fire: =
  8396.       {
  8397.         txt = "&"
  8398.         hint = "Fires the effect once."
  8399.       }
  8400.     }
  8401.     env_terrainmorph:form =
  8402.     {
  8403.       bbox = '-4 -4 -4 4 4 4'
  8404.       t_Targetname = !
  8405.       t_Parentname = !
  8406.       startradius: =
  8407.       {
  8408.         txt = "&"
  8409.         hint = "Start Radius"
  8410.       }
  8411.       goalradius: =
  8412.       {
  8413.         txt = "&"
  8414.         hint = "Goal Radius"
  8415.       }
  8416.       duration: =
  8417.       {
  8418.         txt = "&"
  8419.         hint = "Duration"
  8420.       }
  8421.       fraction: =
  8422.       {
  8423.         txt = "&"
  8424.         hint = "Displacement Fraction"
  8425.       }
  8426.       input#BeginMorph: =
  8427.       {
  8428.         txt = "&"
  8429.         hint = "Begin Morph"
  8430.       }
  8431.       spawnflags: =
  8432.       {
  8433.         txt = "&"
  8434.         typ = "X1"
  8435.         cap = "Instant"
  8436.       }
  8437.     }
  8438.     point_camera:form =
  8439.     {
  8440.       t_Parentname = !
  8441.       t_Angles = !
  8442.       spawnflags: =
  8443.       {
  8444.         txt = "&"
  8445.         typ = "X1"
  8446.         cap = "Start Off"
  8447.       }
  8448.       targetname: =
  8449.       {
  8450.         txt = "&"
  8451.         hint = "Name"
  8452.       }
  8453.       FOV: =
  8454.       {
  8455.         txt = "&"
  8456.         hint = "FOV"
  8457.       }
  8458.       UseScreenAspectRatio: =
  8459.       {
  8460.         txt = "&"
  8461.         hint = "Screen Aspect Ratio"
  8462.         typ = "C"
  8463.         items = "No"$0D"Yes"
  8464.         values = "0"$0D"1"
  8465.       }
  8466.       fogEnable: =
  8467.       {
  8468.         txt = "&"
  8469.         hint = "Fog Enable"
  8470.         typ = "C"
  8471.         items = "No"$0D"Yes"
  8472.         values = "0"$0D"1"
  8473.       }
  8474.       fogColor: =
  8475.       {
  8476.         txt = "&"
  8477.         hint = "Fog Color"
  8478.       }
  8479.       fogStart: =
  8480.       {
  8481.         txt = "&"
  8482.         hint = "Fog Start"
  8483.       }
  8484.       fogEnd: =
  8485.       {
  8486.         txt = "&"
  8487.         hint = "Fog End"
  8488.       }
  8489.       input#ChangeFOV: =
  8490.       {
  8491.         txt = "&"
  8492.         hint = "Changes camera's FOV over time"
  8493.       }
  8494.       input#SetOnAndTurnOthersOff: =
  8495.       {
  8496.         txt = "&"
  8497.         hint = "Turn the camera on, and turn all other cameras off."
  8498.       }
  8499.       input#SetOn: =
  8500.       {
  8501.         txt = "&"
  8502.         hint = "Turn the camera on."
  8503.       }
  8504.       input#SetOff: =
  8505.       {
  8506.         txt = "&"
  8507.         hint = "Turn the camera off."
  8508.       }
  8509.     }
  8510.     func_monitor:form =
  8511.     {
  8512.       t_func_brush = !
  8513.       target: =
  8514.       {
  8515.         txt = "&"
  8516.         hint = "Camera name"
  8517.       }
  8518.       input#Toggle: =
  8519.       {
  8520.         txt = "&"
  8521.         hint = "Toggle - If on, turn off, if off, turn on."
  8522.       }
  8523.       input#Enable: =
  8524.       {
  8525.         txt = "&"
  8526.         hint = "Enable."
  8527.       }
  8528.       input#Disable: =
  8529.       {
  8530.         txt = "&"
  8531.         hint = "Disable."
  8532.       }
  8533.       input#SetCamera: =
  8534.       {
  8535.         txt = "&"
  8536.         hint = "Sets the camera to use for this monitor. Takes the name of a p"
  8537.          "oint_camera entity in the map."
  8538.       }
  8539.     }
  8540.     t_BaseVehicle:incl =
  8541.     {
  8542.       t_Targetname = !
  8543.       t_Origin = !
  8544.       t_Global = !
  8545.       t_prop_static_base = !
  8546.       vehiclescript: =
  8547.       {
  8548.         txt = "&"
  8549.         hint = "Vehicle Script File"
  8550.       }
  8551.       actionScale: =
  8552.       {
  8553.         txt = "&"
  8554.         hint = "Scale of action input / framerate"
  8555.       }
  8556.       input#Action: =
  8557.       {
  8558.         txt = "&"
  8559.         hint = "Set the speed of the action animation"
  8560.       }
  8561.       input#TurnOn: =
  8562.       {
  8563.         txt = "&"
  8564.         hint = "Turn on: Start engine & enable throttle"
  8565.       }
  8566.       input#TurnOff: =
  8567.       {
  8568.         txt = "&"
  8569.         hint = "Turn off: Stop engine, disable throttle, engage brakes."
  8570.       }
  8571.       input#Lock: =
  8572.       {
  8573.         txt = "&"
  8574.         hint = "Prevent the player from entering or exiting the vehicle."
  8575.       }
  8576.       input#Unlock: =
  8577.       {
  8578.         txt = "&"
  8579.         hint = "Re-allow the player to enter or exit the vehicle."
  8580.       }
  8581.     }
  8582.     t_BaseDriveableVehicle:incl =
  8583.     {
  8584.       t_BaseVehicle = !
  8585.       VehicleLocked: =
  8586.       {
  8587.         txt = "&"
  8588.         hint = "Start locked"
  8589.         typ = "C"
  8590.         items = "No"$0D"Yes"
  8591.         values = "0"$0D"1"
  8592.       }
  8593.       output#PlayerOn: =
  8594.       {
  8595.         txt = "&"
  8596.         hint = "Player entered the vehicle"
  8597.       }
  8598.       output#PlayerOff: =
  8599.       {
  8600.         txt = "&"
  8601.         hint = "Player exited the vehicle"
  8602.       }
  8603.       output#PressedAttack: =
  8604.       {
  8605.         txt = "&"
  8606.         hint = "Player Pressed attack key"
  8607.       }
  8608.       output#PressedAttack2: =
  8609.       {
  8610.         txt = "&"
  8611.         hint = "Player Pressed attack2 key"
  8612.       }
  8613.       output#AttackAxis: =
  8614.       {
  8615.         txt = "&"
  8616.         hint = "State of attack button [0,1]"
  8617.       }
  8618.       output#Attack2Axis: =
  8619.       {
  8620.         txt = "&"
  8621.         hint = "State of attack2 button [0,1]"
  8622.       }
  8623.       input#HandBrakeOn: =
  8624.       {
  8625.         txt = "&"
  8626.         hint = "Turns the handbrake on"
  8627.       }
  8628.       input#HandBrakeOff: =
  8629.       {
  8630.         txt = "&"
  8631.         hint = "Releases the handbrake"
  8632.       }
  8633.     }
  8634.     prop_vehicle:form =
  8635.     {
  8636.       t_BaseVehicle = !
  8637.       input#Steer: =
  8638.       {
  8639.         txt = "&"
  8640.         hint = "Steer the vehicle +/-1"
  8641.       }
  8642.       input#Throttle: =
  8643.       {
  8644.         txt = "&"
  8645.         hint = "Throttle +/-1"
  8646.       }
  8647.     }
  8648.     prop_vehicle_driveable:form =
  8649.     {
  8650.       t_BaseDriveableVehicle = !
  8651.     }
  8652.     point_apc_controller:form =
  8653.     {
  8654.       t_Targetname = !
  8655.       t_Angles = !
  8656.       spawnflags: =
  8657.       {
  8658.         txt = "&"
  8659.         typ = "X1"
  8660.         cap = "Active"
  8661.       }
  8662.       yawrate: =
  8663.       {
  8664.         txt = "&"
  8665.         hint = "Yaw rate"
  8666.       }
  8667.       yawtolerance: =
  8668.       {
  8669.         txt = "&"
  8670.         hint = "Yaw tolerance"
  8671.       }
  8672.       pitchrate: =
  8673.       {
  8674.         txt = "&"
  8675.         hint = "Pitch rate"
  8676.       }
  8677.       pitchtolerance: =
  8678.       {
  8679.         txt = "&"
  8680.         hint = "Pitch tolerance"
  8681.       }
  8682.       rotatestartsound: =
  8683.       {
  8684.         txt = "&"
  8685.         hint = "Rotate Start Sound"
  8686.       }
  8687.       rotatesound: =
  8688.       {
  8689.         txt = "&"
  8690.         hint = "Rotate Loop Sound"
  8691.       }
  8692.       rotatestopsound: =
  8693.       {
  8694.         txt = "&"
  8695.         hint = "Rotate Stop Sound"
  8696.       }
  8697.       minRange: =
  8698.       {
  8699.         txt = "&"
  8700.         hint = "Minmum target range"
  8701.       }
  8702.       maxRange: =
  8703.       {
  8704.         txt = "&"
  8705.         hint = "Maximum target range"
  8706.       }
  8707.       targetentityname: =
  8708.       {
  8709.         txt = "&"
  8710.         hint = "Name of entity I should follow/attack"
  8711.       }
  8712.       input#Activate: =
  8713.       {
  8714.         txt = "&"
  8715.         hint = "Turn the APC rockets on"
  8716.       }
  8717.       input#Deactivate: =
  8718.       {
  8719.         txt = "&"
  8720.         hint = "Turn the APC rockets off (go dormant)"
  8721.       }
  8722.       output#OnFireAtTarget: =
  8723.       {
  8724.         txt = "&"
  8725.         hint = "Fires when a valid target is found and the APC should shoot ro"
  8726.          "ckets"
  8727.       }
  8728.     }
  8729.     prop_vehicle_apc:form =
  8730.     {
  8731.       t_BaseDriveableVehicle = !
  8732.       missilehint: =
  8733.       {
  8734.         txt = "&"
  8735.         hint = "Missile Hint Target"
  8736.       }
  8737.       input#FireMissileAt: =
  8738.       {
  8739.         txt = "&"
  8740.         hint = "A target to fire a missile at"
  8741.       }
  8742.       input#Destroy: =
  8743.       {
  8744.         txt = "&"
  8745.         hint = "Causes the APC to blow up."
  8746.       }
  8747.       output#OnFiredMissile: =
  8748.       {
  8749.         txt = "&"
  8750.         hint = "Fired when the APC shoots a missile."
  8751.       }
  8752.       output#OnDeath: =
  8753.       {
  8754.         txt = "&"
  8755.         hint = "Fired when the APC is killed."
  8756.       }
  8757.     }
  8758.     info_apc_missile_hint:form =
  8759.     {
  8760.       t_Targetname = !
  8761.       t_Origin = !
  8762.       t_Angles = !
  8763.       t_EnableDisable = !
  8764.       target: =
  8765.       {
  8766.         txt = "&"
  8767.         hint = "Target Entity"
  8768.       }
  8769.     }
  8770.     prop_vehicle_jeep:form =
  8771.     {
  8772.       t_BaseDriveableVehicle = !
  8773.       input#StartRemoveTauCannon: =
  8774.       {
  8775.         txt = "&"
  8776.         hint = "Start the tau removal sequence."
  8777.       }
  8778.       input#FinishRemoveTauCannon: =
  8779.       {
  8780.         txt = "&"
  8781.         hint = "Finish the tau removal sequence."
  8782.       }
  8783.     }
  8784.     vehicle_viewcontroller:form =
  8785.     {
  8786.       t_BaseDriveableVehicle = !
  8787.       input#ForcePlayerIn: =
  8788.       {
  8789.         txt = "&"
  8790.         hint = "Force the player into the vehicle. The animation to use can be"
  8791.          " specified in the parameter. Without a parameter, the player just te"
  8792.          "leports."
  8793.       }
  8794.       input#ForcePlayerOut: =
  8795.       {
  8796.         txt = "&"
  8797.         hint = "Force the player out of the vehicle."
  8798.       }
  8799.     }
  8800.     prop_vehicle_airboat:form =
  8801.     {
  8802.       t_BaseDriveableVehicle = !
  8803.       t_modelselect = !
  8804.       vehiclescript: =
  8805.       {
  8806.         txt = "&"
  8807.         hint = "Vehicle Script File"
  8808.       }
  8809.       EnableGun: =
  8810.       {
  8811.         txt = "&"
  8812.         hint = "Has Gun"
  8813.         typ = "C"
  8814.         items = "No"$0D"Yes"
  8815.         values = "0"$0D"1"
  8816.       }
  8817.       input#EnableGun: =
  8818.       {
  8819.         txt = "&"
  8820.         hint = "Enables or disables the airboat gun and associated crosshair."
  8821.       }
  8822.       input#InputStartRotorWashForces: =
  8823.       {
  8824.         txt = "&"
  8825.         hint = "The airboat will start to be blown around by the helicopter ro"
  8826.          "tor wash."
  8827.       }
  8828.       input#InputStopRotorWashForces: =
  8829.       {
  8830.         txt = "&"
  8831.         hint = "The airboat will no longer be blown around by the helicopter r"
  8832.          "otor wash."
  8833.       }
  8834.     }
  8835.     prop_vehicle_cannon:form =
  8836.     {
  8837.       t_BaseDriveableVehicle = !
  8838.     }
  8839.     prop_vehicle_crane:form =
  8840.     {
  8841.       t_BaseDriveableVehicle = !
  8842.       magnetname: =
  8843.       {
  8844.         txt = "&"
  8845.         hint = "Magnet entity"
  8846.       }
  8847.       input#ForcePlayerIn: =
  8848.       {
  8849.         txt = "&"
  8850.         hint = "Force the player to get into the crane. Only works in singlepl"
  8851.          "ayer."
  8852.       }
  8853.     }
  8854.     prop_vehicle_prisoner_pod:form =
  8855.     {
  8856.       t_BaseDriveableVehicle = !
  8857.       t_Parentname = !
  8858.       t_modelselect = !
  8859.       vehiclescript: =
  8860.       {
  8861.         txt = "&"
  8862.         hint = "Vehicle Script File"
  8863.       }
  8864.       input#Open: =
  8865.       {
  8866.         txt = "&"
  8867.         hint = "Plays the pod's open animation and unlocks the pod for entry o"
  8868.          "r exit."
  8869.       }
  8870.       input#Close: =
  8871.       {
  8872.         txt = "&"
  8873.         hint = "Plays the pod's close animation and locks the pod for entry or"
  8874.          " exit."
  8875.       }
  8876.       input#EnterVehicle: =
  8877.       {
  8878.         txt = "&"
  8879.         hint = "Forces the activator (or player) into the pod."
  8880.       }
  8881.       input#EnterVehicleImmediate: =
  8882.       {
  8883.         txt = "&"
  8884.         hint = "Forces the activator (or player) into the pod without enter/ex"
  8885.          "it animations."
  8886.       }
  8887.       input#ExitVehicle: =
  8888.       {
  8889.         txt = "&"
  8890.         hint = "Boots the prisoner out of the pod."
  8891.       }
  8892.       output#OnOpen: =
  8893.       {
  8894.         txt = "&"
  8895.         hint = "Fired when the pod is open enough to enter."
  8896.       }
  8897.       output#OnClose: =
  8898.       {
  8899.         txt = "&"
  8900.         hint = "Fired when the pod too closed to enter."
  8901.       }
  8902.     }
  8903.     phys_constraintsystem:form =
  8904.     {
  8905.       t_Targetname = !
  8906.     }
  8907.     env_speaker:form =
  8908.     {
  8909.       t_BaseSpeaker = !
  8910.     }
  8911.     script_tauremoval:form =
  8912.     {
  8913.       t_Angles = !
  8914.       t_Targetname = !
  8915.       t_Parentname = !
  8916.       vortigaunt: =
  8917.       {
  8918.         txt = "&"
  8919.         hint = "Vortigaunt to use"
  8920.       }
  8921.       input#StartScript: =
  8922.       {
  8923.         txt = "&"
  8924.         hint = "Start the script."
  8925.       }
  8926.       input#RemoveTau: =
  8927.       {
  8928.         txt = "&"
  8929.         hint = "Start removing the Tau cannon now."
  8930.       }
  8931.     }
  8932.     script_intro:form =
  8933.     {
  8934.       t_Targetname = !
  8935.       input#Activate: =
  8936.       {
  8937.         txt = "&"
  8938.         hint = "Take control of the player's view and start blending the two s"
  8939.          "cenes."
  8940.       }
  8941.       input#Deactivate: =
  8942.       {
  8943.         txt = "&"
  8944.         hint = "Stop controlling the view."
  8945.       }
  8946.       input#SetCameraViewEntity: =
  8947.       {
  8948.         txt = "&"
  8949.         hint = "Set the viewpoint to blend with the player's viewpoint."
  8950.       }
  8951.       input#SetBlendMode: =
  8952.       {
  8953.         txt = "&"
  8954.         hint = "Set the blending mode to use."
  8955.       }
  8956.       input#SetFOV: =
  8957.       {
  8958.         txt = "&"
  8959.         hint = "Set the fov for the second camera."
  8960.       }
  8961.       input#SetNextFOV: =
  8962.       {
  8963.         txt = "&"
  8964.         hint = "Set the FOV to blend to over time. Follow this with a SetFOVBl"
  8965.          "endTime input to start the fov blend."
  8966.       }
  8967.       input#SetFOVBlendTime: =
  8968.       {
  8969.         txt = "&"
  8970.         hint = "Set the amount of time it should take to blend to the next fov"
  8971.          " target, and start blending."
  8972.       }
  8973.       input#SetNextBlendMode: =
  8974.       {
  8975.         txt = "&"
  8976.         hint = "Set the blending mode to blend to over time. Follow this with "
  8977.          "a SetNextBlendTime input to start the mode blend."
  8978.       }
  8979.       input#SetNextBlendTime: =
  8980.       {
  8981.         txt = "&"
  8982.         hint = "Set the amount of time it should take to blend to the next mod"
  8983.          "e, and start blending."
  8984.       }
  8985.       input#FadeTo: =
  8986.       {
  8987.         txt = "&"
  8988.         hint = "Fade to a specific alpha amount of an amount of time. Paramete"
  8989.          "rs: <alpha> <duration>"
  8990.       }
  8991.       input#SetFadeColor: =
  8992.       {
  8993.         txt = "&"
  8994.         hint = "Set the fade color. Parameters: <Red> <Green> <Blue>"
  8995.       }
  8996.     }
  8997.     env_citadel_energy_core:form =
  8998.     {
  8999.       t_Angles = !
  9000.       t_Targetname = !
  9001.       t_Parentname = !
  9002.       spawnflags: =
  9003.       {
  9004.         txt = "&"
  9005.         typ = "X1"
  9006.         cap = "No small particles"
  9007.       }
  9008.       spawnflags: =
  9009.       {
  9010.         txt = "&"
  9011.         typ = "X2"
  9012.         cap = "Start on"
  9013.       }
  9014.       scale: =
  9015.       {
  9016.         txt = "&"
  9017.         hint = "Scale"
  9018.       }
  9019.       input#StartCharge: =
  9020.       {
  9021.         txt = "&"
  9022.         hint = "Start charging the core over specified number of seconds."
  9023.       }
  9024.       input#StartDischarge: =
  9025.       {
  9026.         txt = "&"
  9027.         hint = "Start discharging the core over specified number of seconds."
  9028.       }
  9029.       input#Stop: =
  9030.       {
  9031.         txt = "&"
  9032.         hint = "Stops the effect at any point."
  9033.       }
  9034.     }
  9035.     env_alyxemp:form =
  9036.     {
  9037.       bbox = '-4 -4 -4 4 4 4'
  9038.       t_Angles = !
  9039.       t_Targetname = !
  9040.       t_Parentname = !
  9041.       Type: =
  9042.       {
  9043.         txt = "&"
  9044.         hint = "EMP Type"
  9045.         typ = "C"
  9046.         items = "Small"$0D"Large"
  9047.         values = "0"$0D"1"
  9048.       }
  9049.       EndTargetName: =
  9050.       {
  9051.         txt = "&"
  9052.         hint = "Target Entity"
  9053.       }
  9054.       input#StartCharge: =
  9055.       {
  9056.         txt = "&"
  9057.         hint = "Start charging the effect over specified number of seconds."
  9058.       }
  9059.       input#StartDischarge: =
  9060.       {
  9061.         txt = "&"
  9062.         hint = "Start discharging the effect over specified number of seconds."
  9063.       }
  9064.       input#Stop: =
  9065.       {
  9066.         txt = "&"
  9067.         hint = "Stops the effect at any point."
  9068.       }
  9069.       input#SetTargetEnt: =
  9070.       {
  9071.         txt = "&"
  9072.         hint = "Sets the target entity for the effect."
  9073.       }
  9074.     }
  9075.     test_sidelist:form =
  9076.     {
  9077.       sides: =
  9078.       {
  9079.         txt = "&"
  9080.         hint = "Sides"
  9081.       }
  9082.     }
  9083.     info_teleporter_countdown:form =
  9084.     {
  9085.       t_Targetname = !
  9086.       input#StartCountdown: =
  9087.       {
  9088.         txt = "&"
  9089.         hint = "Starts the teleporter countdown. Requires an argument which is"
  9090.          " the number of seconds for the countdown."
  9091.       }
  9092.       input#StopCountdown: =
  9093.       {
  9094.         txt = "&"
  9095.         hint = "Stops the countdown permanently"
  9096.       }
  9097.       input#Disable: =
  9098.       {
  9099.         txt = "&"
  9100.         hint = "Pauses the countdown due to a temporary malfunction. A warning"
  9101.          " sign will appear on the linked vgui screens."
  9102.       }
  9103.       input#Enable: =
  9104.       {
  9105.         txt = "&"
  9106.         hint = "Restarts the countdown since the malfunction is finished."
  9107.       }
  9108.     }
  9109.   }
  9110. }
  9111.